Esempio n. 1
0
        public async Task <ActionResult <ProductReturntDto> > GetProduct(int id)
        {
            var spec    = new ProductWithTypesAndBrandSpecifications(id);
            var product = await productRepo.GetEntityWithSpec(spec);

            if (product == null)
            {
                return(NotFound(new ApiResponse(404)));
            }

            return(mapper.Map <Product, ProductReturntDto>(product));
        }
Esempio n. 2
0
        public async Task <ActionResult <Pagination <ProductReturntDto> > > GetProducts(
            [FromQuery] ProductSpecParams productParams)
        {
            var spec = new ProductWithTypesAndBrandSpecifications(productParams);

            var countSpec  = new ProductWithFiltersForCountSpecification(productParams);
            var totalItems = await productRepo.CountAsync(countSpec);

            var products = await productRepo.ListAsync(spec);

            var data = mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductReturntDto> >(products);

            return(Ok(new Pagination <ProductReturntDto>(
                          productParams.PageIndex,
                          productParams.PageSize,
                          totalItems,
                          data)));
        }