Files
CMS/src/CMSMicroservice.Application/CommissionCQ/Queries/GetAvailableWeeks/GetAvailableWeeksResponseDto.cs
T

50 lines
2.0 KiB
C#

namespace CMSMicroservice.Application.CommissionCQ.Queries.GetAvailableWeeks;
public class GetAvailableWeeksResponseDto
{
/// <summary>هفته جاری</summary>
public required WeekInfoDto CurrentWeek { get; init; }
/// <summary>هفته‌های محاسبه شده (از جدیدترین به قدیمی‌ترین)</summary>
public required List<WeekInfoDto> CalculatedWeeks { get; init; }
/// <summary>هفته‌های محاسبه نشده (از جدیدترین به قدیمی‌ترین)</summary>
public required List<WeekInfoDto> PendingWeeks { get; init; }
/// <summary>هفته‌های آینده قابل انتخاب</summary>
public required List<WeekInfoDto> FutureWeeks { get; init; }
}
public class WeekInfoDto
{
/// <summary>شناسه یکتای هفته</summary>
public required long WeekDefinitionId { get; init; }
/// <summary>شماره هفته (YYYY-Www)</summary>
public required string DisplayName { get; init; }
/// <summary>تاریخ شروع هفته</summary>
public required DateTime StartDate { get; init; }
/// <summary>تاریخ پایان هفته</summary>
public required DateTime EndDate { get; init; }
/// <summary>آیا محاسبه شده؟</summary>
public bool IsCalculated { get; init; }
/// <summary>تاریخ محاسبه (اگر محاسبه شده باشد)</summary>
public DateTime? CalculatedAt { get; init; }
/// <summary>وضعیت اجرای آخرین محاسبه</summary>
public string? LastExecutionStatus { get; init; }
/// <summary>مبلغ کل استخر کمیسیون (اگر محاسبه شده باشد)</summary>
public long? TotalPoolAmount { get; init; }
/// <summary>تعداد کاربران واجد شرایط</summary>
public int? EligibleUsersCount { get; init; }
/// <summary>نمایش فارسی (برای UI)</summary>
public required string DisplayText { get; init; }
}