using LiteCharms.Models; namespace LiteCharms.Features.Quotes.Queries; public class GetQuotesQuery : IRequest> { public DateOnly From { get; set; } public DateOnly To { get; set; } public int MaxRecords { get; set; } private GetQuotesQuery(DateOnly from, DateOnly to, int maxRecords = 1000) { From = from; To = to; MaxRecords = maxRecords; } public static GetQuotesQuery 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); } }