static void TestIEnumerableStaticPaginated(int page, int total = 5) { PeopleList listOfAllPeople = new PeopleList(); int countOfPeople = listOfAllPeople.Count; IEnumerable <People> listOfPeople0 = listOfAllPeople .OrderBy(x => x.Id) .Skip((page - 1) * total) .Take(total) .ToArray(); StaticPaginated <People> paginated0 = new StaticPaginated <People>(listOfPeople0, page, total, countOfPeople); page += 1; IEnumerable <People> listOfPeople1 = listOfAllPeople .OrderBy(x => x.Id) .Skip((page) * total) .Take(total) .ToArray(); StaticPaginated <People> paginated1 = new StaticPaginated <People>(listOfPeople1.ToArray(), page, total, countOfPeople); PaginatedMetaData bm0 = paginated0.ToPaginatedMetaData(); PaginatedMetaData bm1 = paginated1.ToPaginatedMetaData(); var ap0 = paginated0.Pages; var ap1 = paginated1.Pages; }
// GET: Peoples public async Task <ActionResult> Index(int?current) { current = current ?? 1; int items = 5; QueryBuilderMultiple queries = connection.SoftBuild().QueryBuilderMultipleCollection(); var results = queries .AddQuery(x => x.From("People").AsCount()) .AddQuery(x => x.From("People").OrderBy("Name").ForPage(current.Value, items)) .Results(); int count = results.ReadFirst <int>(); IEnumerable <People> model = await results.ReadAsync <People>(); StaticPaginated <People> result = new StaticPaginated <People>(model, current.Value, items, count); return(View(result)); }
public void TestStaticPaginated() { List <int> numbers = GetNumbers().ToList(); int pageNumber = 1; int pageSize = 10; StaticPaginated <int> st = new StaticPaginated <int>( numbers.Skip(pageNumber).Take(pageSize), pageNumber, pageSize, numbers.Count); PaginatedMetaData metaData = st.ToPaginatedMetaData(); Assert.IsInstanceOfType(st, typeof(StaticPaginated <int>)); Assert.IsInstanceOfType(st, typeof(IPaginated)); Assert.IsInstanceOfType(st, typeof(IPaginated <int>)); Assert.IsInstanceOfType(st, typeof(IList)); Assert.IsInstanceOfType(st, typeof(IList <int>)); Assert.IsInstanceOfType(st, typeof(List <int>)); Assert.IsInstanceOfType(st, typeof(PaginatedBase <int>)); Assert.IsInstanceOfType(metaData, typeof(PaginatedMetaData)); Assert.AreEqual(metaData.FirstItemOnPage, 1); Assert.IsTrue(metaData.HasNextPage); Assert.IsFalse(metaData.HasPreviousPage); Assert.IsTrue(metaData.IsFirstPage); Assert.IsFalse(metaData.IsLastPage); Assert.AreEqual(metaData.LastItemOnPage, 10); Assert.AreEqual(metaData.MaximumPageNumbersToDisplay, 8); Assert.AreEqual(metaData.PageCount, 10); Assert.AreEqual(metaData.Pages.Count, 5); Assert.AreEqual(metaData.PageNumber, 1); Assert.AreEqual(metaData.PageSize, 10); Assert.AreEqual(metaData.TotalItemCount, numbers.Count); }