public async Task <IEnumerable <Product> > HandleAsync(SearchProductsQuery query, CancellationToken ct) { var filter = _products; if (!string.IsNullOrWhiteSpace(query.FilterQ)) { var filterQ = query.FilterQ.Trim(); filter = filter.Where(p => p.Code.Contains(filterQ) || p.Name.Contains(filterQ) ); } var skip = query.Skip ?? 0; var take = query.Take ?? 20; return(await filter.OrderBy(p => p.Code).Skip(skip).Take(take).Select(p => new Product { Id = p.ExternalId, Code = p.Code, Name = p.Name, Price = p.Price }).ToListAsync(ct)); }
public ProductsControllersTests() { _getProductsQuery = A.Fake <GetProductsQuery>(); _searchProductsQuery = A.Fake <SearchProductsQuery>(); _getProductBundles = A.Fake <GetProductBundlesQuery>(); _productController = new ProductsController(_getProductsQuery, _searchProductsQuery, _getProductBundles); }
public async Task <IEnumerable <ProductDto> > Handle(SearchProductsQuery request, CancellationToken cancellationToken) { var dbProducts = await _productClient.GetProducts(request.Name); var scraperProducts = await _scraperClient.GetProductsAsync(request.Name); var dbProductsDto = dbProducts.ToProductDto(); var allProducts = dbProductsDto.ToList(); allProducts.AddRange(scraperProducts); return(allProducts); }
public async Task <IPagedList <ProductResponse> > Handle(SearchProductsQuery request, CancellationToken cancellationToken) { var productPagedList = await _productRepository.SearchProductsAsync(request.Args); return(_mapper.Map <IPagedList <ProductResponse> >(productPagedList)); }
public async Task <IActionResult> GetByName([FromRoute] SearchProductsQuery query) { var result = await _mediator.Send(query); return(new JsonResult(result)); }
public ProductsController(GetProductsQuery getProductsQuery, SearchProductsQuery searchProductsQuery, GetProductBundlesQuery getProductBundlesQuery) { _getProductsQuery = getProductsQuery; _searchProductsQuery = searchProductsQuery; _getProductBundlesQuery = getProductBundlesQuery; }
public SearchProductsQueryTests() { _dapperService = A.Fake <DapperService>(); _searchProductsQuery = new SearchProductsQuery(A.Fake <IOptions <ApplicationConfiguration> >(), _dapperService); }