namespace GreenHome.Domain; /// /// گزارش روزانه کاربر (مشاهدات و عملیات انجام شده) /// public sealed class UserDailyReport { public int Id { get; set; } /// /// شناسه دستگاه /// public int DeviceId { get; set; } public Device Device { get; set; } = null!; /// /// شناسه کاربر گزارش‌دهنده /// public int UserId { get; set; } public User User { get; set; } = null!; /// /// تاریخ شمسی (yyyy/MM/dd) /// public string PersianDate { get; set; } = string.Empty; /// /// سال شمسی /// public int PersianYear { get; set; } /// /// ماه شمسی /// public int PersianMonth { get; set; } /// /// روز شمسی /// public int PersianDay { get; set; } /// /// عنوان گزارش /// public string Title { get; set; } = string.Empty; /// /// شرح مشاهدات /// public string Observations { get; set; } = string.Empty; /// /// عملیات انجام شده /// public string Operations { get; set; } = string.Empty; /// /// یادداشت‌های اضافی /// public string? Notes { get; set; } /// /// تصاویر پیوست /// public ICollection Images { get; set; } = new List(); /// /// زمان ایجاد /// public DateTime CreatedAt { get; set; } /// /// زمان آخرین ویرایش /// public DateTime UpdatedAt { get; set; } } /// /// تصاویر پیوست گزارش روزانه /// public sealed class ReportImage { public int Id { get; set; } /// /// شناسه گزارش /// public int UserDailyReportId { get; set; } public UserDailyReport UserDailyReport { get; set; } = null!; /// /// نام فایل /// public string FileName { get; set; } = string.Empty; /// /// مسیر ذخیره فایل /// public string FilePath { get; set; } = string.Empty; /// /// نوع فایل (MIME type) /// public string ContentType { get; set; } = string.Empty; /// /// حجم فایل (بایت) /// public long FileSize { get; set; } /// /// توضیحات تصویر /// public string? Description { get; set; } /// /// زمان آپلود /// public DateTime UploadedAt { get; set; } }