コード例 #1
0
        public async Task <ActionResult <ProductToReturnDto> > GetProduct(int id)
        {
            var spec       = new ProductTypeandBrandSpecification(id);
            var prodResult = await this.productRepo.GetEntityWithSpec(spec);

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

            return(mapper.Map <Products, ProductToReturnDto>(prodResult));
        }
コード例 #2
0
        public async Task <ActionResult <Pagination <ProductToReturnDto> > > GetProducts
            ([FromQuery] ProductSpecParams _productSpecParams)
        {
            var spec       = new ProductTypeandBrandSpecification(_productSpecParams);
            var count      = new ProductWithFiltersForCountSpecification(_productSpecParams);
            var totalItems = await productRepo.CountAsync(count);

            var product = await this.productRepo.ListAsync(spec);

            var data = mapper.Map <IReadOnlyList <Products>, IReadOnlyList <ProductToReturnDto> >(product);

            return(Ok(new Pagination <ProductToReturnDto>(_productSpecParams.PageIndex
                                                          , _productSpecParams.pageSize, totalItems, data)));
        }