public Pager(int page, int pageSize, int listCount)
{
if (page < 1) page = 1;
cnt = listCount;
var pgs = Convert.ToDecimal(listCount) / Convert.ToDecimal(pageSize);
var p = pgs - (int)pgs;
last = p > 0 ? (int)pgs + 1 : (int)pgs;
if (page > last) page = 1;
from = ((page * pageSize) - (pageSize - 1));
to = (page * pageSize);
// adjust for the last (or single) page
if (listCount < to) to = listCount;
// when last item on the last page deleted
// this will reset "from" counter
if (from > to) from = from - pageSize;
if (page > 1)
{
prev = page - 1;
first = 1;
}
if (page < last) next = page + 1;
if (page == last) last = 0;
}