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));
            }
        }
Пример #3
0
 public async Task <List <Product> > GetByName(GetProductsByNameQuery query)
 {
     return(await new GetProductsByNameQueryHandler().GetByNameAsync(query));
 }
Пример #4
0
        public async Task <IActionResult> ScrapeByName([FromRoute] GetProductsByNameQuery query)
        {
            var result = await _mediator.Send(query);

            return(new JsonResult(result));
        }