public async Task <ActionResult <ProductToReturnDTO> > GetProduct(int id) { var spec = new ProductWithBrandsAndTypeSpecification(id); var product = await _productRepo.GetEntityWithSpec(spec); if (product == null) { return(NotFound(new APIResponse(404))); } return(_mapper.Map <Product, ProductToReturnDTO>(product)); }
public async Task <ActionResult <Pagination <ProductToReturnDTO> > > GetProducts( [FromQuery] ProductSpecParameters ProductParam) { var spec = new ProductWithBrandsAndTypeSpecification(ProductParam); var CountSpec = new ProductWithFilterandCountSpecifications(ProductParam); var totalItems = await _productRepo.CountAsync(CountSpec); var products = await _productRepo.GetListWithSpec(spec); var data = _mapper .Map <IReadOnlyList <Product>, IReadOnlyList <ProductToReturnDTO> >(products); return(Ok(new Pagination <ProductToReturnDTO>(ProductParam.PageIndex, ProductParam.PageSize, totalItems, data))); //return Ok(products); }