using CMSMicroservice.Application.Common.Models;
namespace CMSMicroservice.Application.CommissionCQ.Queries.GetWeekDefinitions;
///
/// Query برای دریافت لیست هفتهها از کش (برای dropdown)
///
public record GetWeekDefinitionsQuery : IRequest
{
//موقعیت صفحه بندی
public PaginationState? PaginationState { get; init; }
//مرتب سازی بر اساس
public string? SortBy { get; init; }
//فیلتر
public GetWeekDefinitionsFilter? Filter { get; init; }
}
///
/// فیلترهای جستجوی هفتهها
///
public class GetWeekDefinitionsFilter
{
//جستجوی متنی روی DisplayName (مثل "هفته یک")
public string? SearchText { get; set; }
//شماره ترتیب هفته
public int? WeekOrder { get; set; }
//شماره هفته میلادی (2025-W46)
public string? GregorianWeekNumber { get; set; }
//شماره هفته شمسی (1404-W35)
public string? PersianWeekNumber { get; set; }
//سال میلادی
public int? GregorianYear { get; set; }
//سال شمسی
public int? PersianYear { get; set; }
//فقط هفتههای فعال
public bool? IsActive { get; set; }
}