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)); }
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))); }
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)); }