public async Task <ActionResult <ProductDTO> > GetProducts(int id) { var spec = new ProductswithBrandsAndTypes(id); var product = await _productRepo.GetEntityBeSpec(spec); return(_mapper.Map <Product, ProductDTO>(product)); }
public async Task <ActionResult <Pagination <ProductDTO> > > GetProducts([FromQuery] ProductSpecParam ProductParams) { var spec = new ProductswithBrandsAndTypes(ProductParams); var CountSpec = new ProductWithFilterCountSpecification(ProductParams); var totalItems = _productRepo.CountAsync(CountSpec); var products = await _productRepo.ListAsync(spec); var Data = _mapper.Map <IReadOnlyList <Product>, IReadOnlyList <ProductDTO> >(products); return(Ok(new Pagination <ProductDTO>(ProductParams.pageSize, ProductParams.pageIndex, totalItems.Result, Data))); }