Пример #1
0
        public void HLListPage_ProvidedEmptyList_ShouldPresentEmptyHLListPage()
        {
            List <int> items = new List <int>();

            HLListPage <int> page = new HLListPage <int>(items, items.Count, 1, items.Count);

            Assert.That(page.IsEmpty);
            Assert.That(page.PageSize == HLListPage <int> .DefaultPageSize);
            Assert.That(page.PageNumber == 1);
        }
Пример #2
0
        public void HLListPage_ProvidedList_ShouldCalculateNumberOfPages(int items, int pageSize, int expectedPages)
        {
            List <int> itemList = new List <int>();

            for (int i = 1; i <= items; i++)
            {
                itemList.Add(i);
            }

            HLListPage <int> page = new HLListPage <int>(itemList, items, 1, pageSize);

            Assert.AreEqual(expectedPages, page.TotalPages);
        }
Пример #3
0
        public void HLListPage_ProvidedList_ShouldBePossibleToAccessItViaIEnumerable()
        {
            List <int> items = new List <int>();

            for (int i = 1; i < 10; i++)
            {
                items.Add(i);
            }

            HLListPage <int> page = new HLListPage <int>(items, 10, 1, 10);

            Assert.That(page.All(i => i > 0));
        }
Пример #4
0
        /// <summary>
        /// Return a page of data in cache
        /// </summary>
        /// <typeparam name="TOrder"></typeparam>
        /// <param name="filterFunc"></param>
        /// <param name="orderFunc"></param>
        /// <param name="orderDirection"></param>
        /// <param name="page"></param>
        /// <param name="pageSize"></param>
        /// <returns></returns>
        public HLListPage <TData> FindBy <TOrder>(Func <TData, bool> filterFunc, Func <TData, TOrder> orderFunc = null, OrderDirection orderDirection = OrderDirection.Ascending, int page = 1, int pageSize = 10)
        {
            int itemsToSkip = (page < 0 ? 1 : (page - 1)) * pageSize;

            if (!_isInitialized)
            {
                Initialize();
            }

            var query = _data.Values.Where(filterFunc);

            if (orderFunc != null)
            {
                query = orderDirection == OrderDirection.Ascending ? query.OrderBy(orderFunc) : query.OrderByDescending(orderFunc);
            }

            var list       = query.Skip(itemsToSkip).Take(pageSize).ToList();
            var totalCount = _data.Values.Count(filterFunc);
            HLListPage <TData> dataToReturn = new HLListPage <TData>(list, totalCount, page, pageSize);

            return(dataToReturn);
        }
Пример #5
0
 public FacebookPostsViewModel(string pageName, HLListPage <FacebookPost> posts, Url url) : base(url)
 {
     Posts       = posts;
     Title       = pageName;
     Description = String.Join(" ", posts.Take(5).Select(p => p.Content));
 }
Пример #6
0
 public FacebookPostsViewModel(HLListPage <FacebookPost> posts)
 {
     Posts = posts;
 }
 public FacebookPostsViewModel(string pageName, HLListPage <FacebookPost> posts)
 {
     Posts     = posts;
     PageTitle = pageName;
 }