public async Task <IActionResult> GetUserOrders([FromQuery] GetUserOrdersRequest request) { var response = await mediator.Send(request); Log.Information($"User #{HttpContext.GetCurrentUserId()} fetched their orders history"); return(this.CreateResponse(response)); }
public async Task <PageModel <OrderModel> > Handle(GetUserOrdersRequest request, CancellationToken cancellationToken) { if (request == null) { throw new ArgumentNullException($"{nameof(request)} of type {nameof(GetUserOrdersRequest)} argument cannot be null."); } var itemsToSkip = request.GetItemsToSkip(); var itemsToTake = request.GetItemsToTake(); var result = await orderRepository.GetUserOrders(itemsToSkip, itemsToTake, request.UserId) .ConfigureAwait(false); return(new PageModel <OrderModel> { Items = mapper.Map <OrderModel[]>(result.Items), TotalNumberOfItems = result.TotalNumberOfItems }); }