public async Task <ActionResult <Pagination <ProductToReturnDTO> > > GetProducts([FromQuery] ProductSpecParams filter) { var spec = new ProductWythTypesAndBrandsSpecification(filter); var countSpec = new ProductWythFiltersForCountSpecification(filter); var totalItems = await _productRepo.CountAsync(countSpec); var products = await _productRepo.ListAsync(spec); var data = _mapper.Map <IReadOnlyList <ProductToReturnDTO> >(products); return(Ok(new Pagination <ProductToReturnDTO>(filter.PageIndex, filter.PageSize, totalItems, data))); }
public async Task <ActionResult <Product> > GetProduct(int id) { var spec = new ProductWythTypesAndBrandsSpecification(id); return(await _productRepo.GetEntityWithSpec(spec)); }