Ejemplo n.º 1
0
        public async Task <IReadOnlyList <Product> > GetProductsAsync(ProductSpecParams specParams)
        {
            var spec     = new ProductAndCategorySpec(specParams);
            var products = await _productRepo.ListAsync(spec);

            return(products);
        }
Ejemplo n.º 2
0
        public async Task <ActionResult> GetProducts([FromQuery] ProductSpecParams productParams)
        {
            var spec = new ProductAndCategorySpec(productParams);

            var countSpec = new ProductWithFiltersForCountSpecification(productParams);

            var totalItems = await _productService.CountAsync(countSpec);

            var products = await _productService.GetProductsAsync(productParams);

            if (products.Count > 0)
            {
                var data = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductDto> >(products);
                return(Ok(new Pagination <ProductDto>(productParams.PageIndex, productParams.PageSize, totalItems, data)));
            }
            else
            {
                return(NotFound(new ApiResponse(404, "Product is not found!!")));
            }
        }