54 lines
1.8 KiB
C#
54 lines
1.8 KiB
C#
using cuqmbr.TravelGuide.Application.Common.Models;
|
|
using cuqmbr.TravelGuide.Domain.Enums;
|
|
using MediatR;
|
|
|
|
namespace cuqmbr.TravelGuide.Application.TicketGroups.Queries.GetTicketGroupsPage;
|
|
|
|
public record GetTicketGroupsPageQuery : IRequest<PaginatedList<TicketGroupDto>>
|
|
{
|
|
public int PageNumber { get; set; } = 1;
|
|
|
|
public int PageSize { get; set; } = 10;
|
|
|
|
public string Search { get; set; } = String.Empty;
|
|
|
|
public string Sort { get; set; } = String.Empty;
|
|
|
|
public HashSet<Sex>? PassangerSex { get; set; }
|
|
|
|
public DateOnly? PassangerBirthDateGreaterThanOrEqualTo { get; set; }
|
|
|
|
public DateOnly? PassangerBirthDateLessThanOrEqualTo { get; set; }
|
|
|
|
public DateTimeOffset? PurchaseTimeGreaterThanOrEqualTo { get; set; }
|
|
|
|
public DateTimeOffset? PurchaseTimeLessThanOrEqualTo { get; set; }
|
|
|
|
public HashSet<TicketStatus>? Statuses { get; set; }
|
|
|
|
public HashSet<VehicleType>? VehicleTypes { get; set; }
|
|
|
|
public TimeSpan? TravelTimeGreaterThanOrEqualTo { get; set; }
|
|
|
|
public TimeSpan? TravelTimeLessThanOrEqualTo { get; set; }
|
|
|
|
// TODO: Add filtering parametetrs listed below. It is hard to
|
|
// be done because of pagination.
|
|
|
|
// public decimal? CostGreaterThanOrEqualTo { get; set; }
|
|
//
|
|
// public decimal? CostLessThanOrEqualTo { get; set; }
|
|
//
|
|
// public short? NumberOfTransfersGreaterThanOrEqualTo { get; set; }
|
|
//
|
|
// public short? NumberOfTransfersLessThanOrEqualTo { get; set; }
|
|
//
|
|
// public DateTimeOffset? DepartureTimeGreaterThanOrEqualTo { get; set; }
|
|
//
|
|
// public DateTimeOffset? DepartureTimeLessThanOrEqualTo { get; set; }
|
|
//
|
|
// public DateTimeOffset? ArrivalTimeGreaterThanOrEqualTo { get; set; }
|
|
//
|
|
// public DateTimeOffset? ArrivalTimeLessThanOrEqualTo { get; set; }
|
|
}
|