コード例 #1
0
        public bool TryGetNext(
            string url,
            string pageParamName,
            int currentPageNo,
            int totalNoOfPages,
            out PaginationItemModel paginationItemModel)
        {
            Throw.IfNullOrWhiteSpace(url, nameof(url));
            Throw.IfNullOrWhiteSpace(pageParamName, nameof(pageParamName));
            Throw.IfLessThan(1, currentPageNo, nameof(currentPageNo));
            Throw.IfLessThan(1, totalNoOfPages, nameof(totalNoOfPages));

            paginationItemModel = null;
            if (currentPageNo >= totalNoOfPages)
            {
                return(false);
            }

            var pageNo        = currentPageNo + 1;
            var ariaLabel     = $"Goto the next page, page {pageNo}";
            var urlWithPageNo = GetUrlWithPageNo(url, pageParamName, pageNo);

            paginationItemModel = new PaginationItemModel(
                urlWithPageNo,
                "Next",
                ariaLabel);

            return(true);
        }
コード例 #2
0
        public bool TryGetPrevious(
            string url,
            string pageParamName,
            int currentPageNo,
            out PaginationItemModel paginationItemModel)
        {
            Throw.IfNullOrWhiteSpace(url, nameof(url));
            Throw.IfNullOrWhiteSpace(pageParamName, nameof(pageParamName));
            Throw.IfLessThan(1, currentPageNo, nameof(currentPageNo));

            paginationItemModel = null;
            if (currentPageNo == 1)
            {
                return(false);
            }

            var pageNo        = currentPageNo - 1;
            var ariaLabel     = $"Goto the previous page, page {pageNo}";
            var urlWithPageNo = GetUrlWithPageNo(url, pageParamName, pageNo);

            paginationItemModel = new PaginationItemModel(
                urlWithPageNo,
                "Previous",
                ariaLabel);

            return(true);
        }
        public bool TryGetNext(
            string url,
            string pageParamName,
            int currentPageNo,
            int totalNoOfPages,
            out PaginationItemModel paginationItemModel)
        {
            if (string.IsNullOrWhiteSpace(url))
            {
                throw new ArgumentNullException($"{nameof(url)} cannot be null or empty or whitespace.", nameof(url));
            }

            if (string.IsNullOrWhiteSpace(pageParamName))
            {
                throw new ArgumentNullException($"{nameof(pageParamName)} cannot be null or empty or whitespace.", nameof(pageParamName));
            }

            if (currentPageNo < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(currentPageNo), $"{nameof(currentPageNo)} cannot be less than 1.");
            }

            if (totalNoOfPages < 1)
            {
                throw new ArgumentOutOfRangeException(nameof(totalNoOfPages), $"{nameof(totalNoOfPages)} cannot be less than 1.");
            }

            paginationItemModel = null;
            if (currentPageNo >= totalNoOfPages)
            {
                return(false);
            }

            var pageNo        = currentPageNo + 1;
            var ariaLabel     = $"Goto the next page, page {pageNo}";
            var urlWithPageNo = GetUrlWithPageNo(url, pageParamName, pageNo);

            paginationItemModel = new PaginationItemModel(
                urlWithPageNo,
                "Next",
                ariaLabel);

            return(true);
        }