Merge branch 'Feature/program-manager/chat' into Main

# Conflicts:
#	.gitignore
This commit is contained in:
2026-01-07 11:18:03 +03:30
65 changed files with 166 additions and 23 deletions

View File

@@ -62,17 +62,25 @@ public class TaskChatMessage : EntityBase<Guid>
private void ValidateMessage()
{
// ✅ بررسی پیام‌های متنی
if (MessageType == MessageType.Text && string.IsNullOrWhiteSpace(TextContent))
{
throw new BadRequestException("پیام متنی نمی‌تواند خالی باشد");
}
// ✅ بررسی پیام‌های فایلی - باید FileId داشته باشند
if ((MessageType == MessageType.File || MessageType == MessageType.Voice ||
MessageType == MessageType.Image || MessageType == MessageType.Video)
&& FileId == null)
{
throw new BadRequestException("پیام‌های فایلی باید شناسه فایل داشته باشند");
}
// ✅ بررسی یادداشت‌های سیستم - باید محتوای متنی داشته باشند
if (MessageType == MessageType.Note && string.IsNullOrWhiteSpace(TextContent))
{
throw new BadRequestException("یادداشت نمی‌تواند خالی باشد");
}
}
public void SetFile(Guid fileId)
@@ -98,7 +106,7 @@ public class TaskChatMessage : EntityBase<Guid>
throw new BadRequestException("فقط فرستنده می‌تواند پیام را ویرایش کند");
}
if (MessageType != MessageType.Text)
if (MessageType != MessageType.Text || (MessageType != MessageType.Text && !string.IsNullOrWhiteSpace(TextContent)))
{
throw new BadRequestException("فقط پیام‌های متنی قابل ویرایش هستند");
}

View File

@@ -10,5 +10,6 @@ public enum MessageType
Image = 3, // تصویر
Voice = 4, // پیام صوتی
Video = 5, // ویدیو
Note = 6, // ✅ یادداشت سیستم (برای زمان اضافی و اطلاعات خودکار)
}