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); }
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); }