Exemple #1
0
        public PaginatedModel GetMetaData(int totalItems, int pageIndex, int pageSize)
        {
            var lastPage = _lastPageInCollectionService.GetLastPage(totalItems, pageSize);

            // Cover > out of range exceptions
            if (lastPage < pageIndex)
            {
                pageIndex = lastPage;
            }

            // Cover < out of range exceptions
            if (pageIndex < 1)
            {
                pageIndex = 1;
            }

            if (totalItems == 0)
            {
                return(GetCollectionSizeZeroModel());
            }

            _pages = _nodeService.BuildPageNodes(totalItems, pageIndex, pageSize, NumberOfNode);
            return(new PaginatedModel
            {
                PrevPage = _prevPageService.BuildPrevPage(_pages, totalItems, pageIndex, pageSize),
                Pages = _pages,
                NextPage = _nextPageService.BuildNextPage(_pages, totalItems, pageIndex, pageSize, NumberOfNode)
            });
        }
Exemple #2
0
        public List <Page> BuildPageNodes(int totalItems, int pageIndex, int pageSize, int numberOfNode)
        {
            var lastPage = _lastPageInCollectionService.GetLastPage(totalItems, pageSize);

            if (numberOfNode * pageSize > totalItems)
            {
                return(BuildPartialList(totalItems, pageIndex, pageSize));
            }

            if (pageIndex < numberOfNode - 2)
            {
                return(BuildStartList(pageIndex));
            }

            if (pageIndex > lastPage - (numberOfNode - 2))
            {
                return(BuildEndList(totalItems, pageIndex, pageSize, numberOfNode));
            }

            // We are at an in between collection of node in paginated list
            return(BuildFullList(pageIndex));
        }
Exemple #3
0
 private bool DisplayNextPage(int totalItems, int pageIndex, int pageSize)
 {
     return(pageIndex < _lastPageCollectionService.GetLastPage(totalItems, pageSize));
 }