コード例 #1
0
        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;
        }
コード例 #2
0
        // 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));
        }
コード例 #3
0
        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);
        }