コード例 #1
0
        public ActionResult <PaginatedProducts> Get()
        {
            PaginatedProducts products = null;

            try
            {
                products = _productService.GetPaginated();
            }
            catch (Exception ex)
            {
                _logger.LogError(ex.Message);
            }

            return(products);
        }
コード例 #2
0
        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);
        }