public ActionResult <PaginatedProducts> Get() { PaginatedProducts products = null; try { products = _productService.GetPaginated(); } catch (Exception ex) { _logger.LogError(ex.Message); } return(products); }
public PaginatedProducts GetPaginated() { int itemsPerPage = _pagination.ItemsPerPage; double totalProducts = _products.CountDocuments(p => true); int totalPages = Convert.ToInt32(Math.Ceiling(totalProducts / itemsPerPage)); PaginatedProducts paginated = new PaginatedProducts(); paginated.TotalPages = totalPages; paginated.Page = new List <Page>(); for (int i = 0; i < totalPages; i++) { paginated.Page.Add(new Page() { PageNumber = i + 1, Products = _products.Find(product => true).Skip(i * itemsPerPage).Limit(3).ToList() }); } return(paginated); }