コード例 #1
0
ファイル: ProductController.cs プロジェクト: Hien-Van/WebApp
        public async Task <ActionResult <Product> > GetProductById(int id)
        {
            var spec = new GetProductsWithBrandsAndTypes(id);

            var product = await _productRepo.GetEntityWithSpec(spec);

            var productToReturn = _mapper.Map <Product, ProductToReturnDto>(product);

            return(Ok(productToReturn));
        }
コード例 #2
0
ファイル: ProductController.cs プロジェクト: Hien-Van/WebApp
        public async Task <ActionResult <Pagination <ProductToReturnDto> > > GetProducts([FromQuery] ProductSpecParams productSpecParams)
        {
            var spec = new GetProductsWithBrandsAndTypes(productSpecParams);

            var countSpec = new ProductWithFilterForCountSpec(productSpecParams);

            var products = await _productRepo.ListAsync(spec);

            var totalItems = await _productRepo.CountAsync(countSpec);

            var productsToReturn = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductToReturnDto> >(products);

            return(Ok(new Pagination <ProductToReturnDto>(
                          productSpecParams.PageIndex, productSpecParams.PageSize, totalItems, productsToReturn
                          )));
        }