public async Task <IEnumerable <ProductDto> > Handle(GetProductsByNameQuery request, CancellationToken cancellationToken) { var products = new List <ProductDto>(); foreach (var scraper in _scraperServices) { products.AddRange(await scraper.GetProducts(request.Name)); } return(products.AsEnumerable()); }
public async Task <ActionResult <EntityResponse <Product> > > GetProductByName(string productName) { try { var query = new GetProductsByNameQuery(productName); var result = await _mediator.Send(query); return(Ok(result)); } catch (Exception ex) { var err = new EntityResponse <Product> (); err.ReponseName = nameof(GetProductByName); err.Status = ResponseType.Error; err.Message = ex.Message; err.Content = null; return(Ok(err)); } }
public async Task <List <Product> > GetByName(GetProductsByNameQuery query) { return(await new GetProductsByNameQueryHandler().GetByNameAsync(query)); }
public async Task <IActionResult> ScrapeByName([FromRoute] GetProductsByNameQuery query) { var result = await _mediator.Send(query); return(new JsonResult(result)); }