version 3

This commit is contained in:
2025-12-17 00:34:41 +03:30
parent 139924db94
commit 74e8480a68
38 changed files with 5399 additions and 70 deletions

View File

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