50 lines
2.0 KiB
C#
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; }
|
|
}
|