using CMSMicroservice.Domain.Enums;

namespace CMSMicroservice.Application.TransactionsCQ.Queries.GetAllTransactionsByFilter;
public record GetAllTransactionsByFilterQuery : IRequest<GetAllTransactionsByFilterResponseDto>
{
    //موقعیت صفحه بندی 
    public PaginationState? PaginationState { get; init; }
    //مرتب سازی بر اساس 
    public string? SortBy { get; init; }
    //فیلتر 
    public GetAllTransactionsByFilterFilter? Filter { get; init; }

}public class GetAllTransactionsByFilterFilter
{
    // 
    public long? Id { get; set; }
    // 
    public long? Amount { get; set; }
    // 
    public string? Description { get; set; }
    // 
    public PaymentStatus? PaymentStatus { get; set; }
    //تاریخ پرداخت 
    public DateTime? PaymentDate { get; set; }
    // 
    public string? RefId { get; set; }
    // 
    public TransactionType? Type { get; set; }
    public DateTime? CreatedFrom { get; set; }
    public DateTime? CreatedTo { get; set; }
    public DateTime? PaymentDateFrom { get; set; }
    public DateTime? PaymentDateTo { get; set; }
}
