public async Task <ActionResult <PaginatedResult <ProductViewModel> > > Get([FromQuery] GetFilteredProductsRequest request) { FixPageData(request.PaginationData); var resultApp = await _mediator.Send(_mapper.Map <GetFilteredProductsCommand>(request)); var result = resultApp.Remap <ProductViewModel>(_mapper); return(Ok(result)); }
public async Task <ProductsViewModel> GetFilteredProductsAsync(GetFilteredProductsRequest getFilteredProductsRequest, CancellationToken cancellationToken) { var qpc = new QueryParamCollection { { "pageSize", getFilteredProductsRequest.PageSize }, { "page", getFilteredProductsRequest.Page }, { "brand", getFilteredProductsRequest.Brand }, { "color", getFilteredProductsRequest.Color }, { "forBaby", getFilteredProductsRequest.ForBaby }, { "gender", getFilteredProductsRequest.Gender }, { "name", getFilteredProductsRequest.Name }, { "priceFrom", getFilteredProductsRequest.PriceFrom }, { "priceTo", getFilteredProductsRequest.PriceTo }, { "productType", getFilteredProductsRequest.ProductType }, { "size", getFilteredProductsRequest.Size }, }.ToQueryString(); var response = await _httpClient.SendAsync <ProductsViewModel>(HttpMethod.Get, $"v1/Product/GetFilteredProducts?{qpc}", null, cancellationToken); return(response); }