public async Task <ActionResult <ProductToReturnDto> > GetProduct(int id)
        {
            var spec = new ProductsWithProductTypeAndBrandSpecification(id);

            //return await _productRepo.GetEntityWithSpec(spec);

            var product = await _productRepo.GetEntityWithSpec(spec);

            return(_mapper.Map <Product, ProductToReturnDto>(product));
        }
示例#2
0
        public async Task <ActionResult <Pagination <ProductReturnToDto> > > GetProducts([FromQuery] ProductSpecParams productSpecParams)
        {
            var spec       = new ProductsWithProductTypeAndBrandSpecification(productSpecParams);
            var countSpec  = new ProductWithfiltersForCountSpecification(productSpecParams);
            var totalItems = await _productRepository.CountAsync(countSpec);

            var products = await _productRepository.ListAsync(spec);

            var data = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductReturnToDto> >(products);

            return(Ok(new Pagination <ProductReturnToDto>(productSpecParams.PageIndex, productSpecParams.PageSize, totalItems, data)));
        }
示例#3
0
        public async Task <ActionResult <ProductReturnToDto> > GetProduct(int id)
        {
            var spec = new ProductsWithProductTypeAndBrandSpecification(id);
            // return await _productRepository.GetEntityWithSpec(spec);
            var product = await _productRepository.GetEntityWithSpec(spec);

            //return new ProductReturnToDto
            //{
            //    Id=product.Id,
            //    Name=product.Name,
            //    Decription=product.Decription,
            //    Price=product.Price,
            //    PictureUrl=product.PictureUrl,
            //    ProductBrand= product.ProductBrand!=null? product.ProductBrand.Name:string.Empty,
            //    ProductType= product.ProductType != null? product.ProductType.Name:string.Empty,
            //};
            return(_mapper.Map <Product, ProductReturnToDto>(product));
        }