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