using LiteCharms.Models; namespace LiteCharms.Features.Customers.Queries; public class GetCustomersQuery : IRequest> { public DateOnly From { get; set; } public DateOnly To { get; set; } public int MaxRecords { get; set; } private GetCustomersQuery(DateOnly from, DateOnly to, int maxRecords = 1000) { From = from; To = to; MaxRecords = maxRecords; } public static GetCustomersQuery Create(DateOnly from, DateOnly to, int maxRecords = 1000) { if (from > to) throw new ArgumentException("From date cannot be greater than To date."); if(maxRecords <= 0) throw new ArgumentException("MaxRecords must be a positive integer."); return new(from, to, maxRecords); } }