31 lines
823 B
C#
31 lines
823 B
C#
using LiteCharms.Features.Shop.Customers.Models;
|
|
|
|
namespace LiteCharms.Features.Customers.Queries;
|
|
|
|
public class GetCustomersQuery : IRequest<Result<Customer[]>>
|
|
{
|
|
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);
|
|
}
|
|
}
|