fix(no-scrollbar) , fix(OrdersPagePagination) , feat(ShowOrderBagQuery)

-Fix no-scrollbar in pages
-Fix orders page pageination at page 2
-Add show order bag query in GetOrders
subProduct
Amir Hossein Khademi 2024-06-12 13:18:26 +03:30
parent 4ff7601843
commit fd0f5696f4
6 changed files with 21 additions and 9 deletions

View File

@ -40,8 +40,15 @@ public class OrderController : ICarterModule
private async Task<IResult> ConfirmOrderStepAsync(Guid id, [FromQuery] OrderStatus nextOrderStatus, [FromQuery]string? trackingCode, [FromServices] IMediator mediator, CancellationToken cancellationToken)
=> TypedResults.Ok(await mediator.Send(new ConfirmOrderStepCommand(id, nextOrderStatus,TrackingCode:trackingCode), cancellationToken));
public async Task<IResult> GetAllAsync(IMediator mediator, [FromQuery]string? factorCode, [FromQuery]long? selectedDate, [FromQuery] OrderStatus? orderStatus, [FromQuery] OrderQueryDateFilter? dateFilter, [FromQuery] int page = 0, CancellationToken cancellationToken = default)
=> TypedResults.Ok(await mediator.Send(new GetOrdersQuery(Page:page, FactorCode:factorCode , SelectedDate: selectedDate, OrderStatus:orderStatus, DateFilter:dateFilter), cancellationToken));
public async Task<IResult> GetAllAsync(IMediator mediator,
[FromQuery]string? factorCode,
[FromQuery]long? selectedDate,
[FromQuery]OrderStatus? orderStatus,
[FromQuery]OrderQueryDateFilter? dateFilter,
[FromQuery]bool? orderBags,
[FromQuery]int page = 0,
CancellationToken cancellationToken = default)
=> TypedResults.Ok(await mediator.Send(new GetOrdersQuery(Page:page, FactorCode:factorCode ,OrderBags:orderBags??false , SelectedDate: selectedDate, OrderStatus:orderStatus, DateFilter:dateFilter), cancellationToken));
public async Task<IResult> GetAsync(IMediator mediator, Guid id, CancellationToken cancellationToken = default)
{

View File

@ -4,4 +4,4 @@ public sealed record GetOrderLDtoQuery(Guid Id) : IRequest<OrderLDto>;
public sealed record GetUserOrdersQuery(Guid CustomerId = default) : IRequest<List<OrderSDto>>;
public sealed record GetOrderQuery(Guid Id) : IRequest<Order>;
public sealed record GetOrdersQuery(OrderQueryDateFilter? DateFilter, OrderStatus? OrderStatus,long? SelectedDate,string? FactorCode, int Page = 0) : IRequest<List<OrderSDto>>;
public sealed record GetOrdersQuery(OrderQueryDateFilter? DateFilter, OrderStatus? OrderStatus,long? SelectedDate,string? FactorCode,bool OrderBags, int Page = 0) : IRequest<List<OrderSDto>>;

View File

@ -13,6 +13,7 @@ public class ApplicationUser : IdentityUser<Guid>
public DateTime BirthDate { get; set; }
public Gender Gender { get; set; }
public SignUpStatus SignUpStatus { get; set; }
public List<UserAddress> Addresses { get; set; } = new();
public Manager? Manager { get; set; }
public Customer? Customer { get; set; }

View File

@ -5,7 +5,6 @@
[GenerateMapper]
public class Customer : ApiEntity
{
public List<UserAddress> Addresses { get; set; } = new();
public Guid UserId { get; set; }
public ApplicationUser? User { get; set; }
}

View File

@ -3,11 +3,11 @@
public enum PaymentType
{
[Display(Name = "نقدی")]
Cash,
Cash = 0,
[Display(Name = "کارت به کارت")]
CardTransfer,
CardTransfer = 1,
[Display(Name = "آنلاین")]
Online,
Online = 2,
[Display(Name = "در محل")]
PayOnDoor
PayOnDoor = 3
}

View File

@ -18,6 +18,10 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
.SetRepository<Order>()
.TableNoTracking;
if (request.OrderBags)
orders = orders.Where(o => o.OrderStatus == OrderStatus.OrderBag);
else
orders = orders.Where(o => o.OrderStatus != OrderStatus.OrderBag);
if (request.FactorCode != null)
orders = orders.Where(o => o.FactorCode.Trim().ToUpper().Contains(request.FactorCode.Trim().ToUpper()));
@ -49,12 +53,13 @@ public class GetOrdersQueryHandler : IRequestHandler<GetOrdersQuery,List<OrderSD
if (request.OrderStatus != null)
orders = orders.Where(o => o.OrderStatus == request.OrderStatus.Value);
return await orders
var dtos = await orders
.OrderByDescending(o=>o.CreatedAt)
.Skip(request.Page * 15)
.Take(15)
.Select(OrderMapper.ProjectToSDto)
.ToListAsync(cancellationToken);
return dtos;
}
}