public async Task <IActionResult> GetProduits([FromQuery] ProduitsParameters produitsParameters) { var produits = await _produitRepository.GetProduitsAsync(produitsParameters); var produitsDto = _mapper.Map <IEnumerable <ProduitDto> >(produits); Response.Headers.Add("X-Pagination", JsonConvert.SerializeObject(produits.GetMetadata())); return(Ok(produitsDto)); }
public async Task <PagedList <Produit> > GetProduitsAsync(ProduitsParameters parameters) { var produits = _context.Produits as IQueryable <Produit>; if (!string.IsNullOrWhiteSpace(parameters.NumeroCommande)) { produits = produits.Where(p => p.NumeroCommande == parameters.NumeroCommande); } produits = !string.IsNullOrWhiteSpace(parameters.OrderBy) ? produits.ApplySort(parameters.OrderBy) : produits.OrderBy(c => c.Nom); return(PagedList <Produit> .ToPagedList(await produits.ToListAsync(), parameters.PageNumber, parameters.PageSize)); }