public PagingRange Evaluate(int pageIndex, int pageCount, int pageSize) { PagingRange range = new PagingRange(); if (pageCount <= _rangeLength) { range.StartIndex = 1; range.FinishIndex = pageCount; return(range); } int semiLength = (int)Math.Floor(_rangeLength / 2.0); range.StartIndex = pageIndex - semiLength; range.FinishIndex = pageIndex + semiLength; if (range.StartIndex < 1) { range.FinishIndex -= range.StartIndex - 1; range.StartIndex = 1; return(range); } if (range.FinishIndex > pageCount) { range.StartIndex -= range.FinishIndex - pageCount; range.FinishIndex = pageCount; } return(range); }
public PagingRange Evaluate(int pageIndex, int pageCount, int pageSize) { PagingRange range = new PagingRange(); if(pageCount <= _rangeLength) { range.StartIndex = 1; range.FinishIndex = pageCount; return range; } int semiLength = (int)Math.Floor(_rangeLength / 2.0); range.StartIndex = pageIndex - semiLength; range.FinishIndex = pageIndex + semiLength; if(range.StartIndex < 1) { range.FinishIndex -= range.StartIndex - 1; range.StartIndex = 1; return range; } if(range.FinishIndex > pageCount) { range.StartIndex -= range.FinishIndex - pageCount; range.FinishIndex = pageCount; } return range; }