Ejemplo n.º 1
0
        public static List <BlogStory> GetPerPage(this List <BlogStory> stories,
                                                  Int32 pageNumber,
                                                  Int32 perPage,
                                                  StorySort sortType,
                                                  StoryFilter filter)
        {
            IEnumerable <BlogStory> query = stories;

            if (filter == StoryFilter.Published)
            {
                query = query.Where(x => x.PublishedDate.HasValue);
            }
            else if (filter == StoryFilter.UnPublished)
            {
                query = query.Where(x => !x.PublishedDate.HasValue);
            }

            query = sortType == StorySort.CreateDate
                        ? query.OrderByDescending(x => x.CreateDate)
                        : query.OrderByDescending(x => x.PublishedDate);

            return(query.Skip((pageNumber - 1) * perPage)
                   .Take(perPage).ToList());
        }
Ejemplo n.º 2
0
        public static void SetStoryTagPageSliding(this IMemoryCache cache, MainPageViewModel viewModel, String alias, StorySort sort, Int32 minutesCount)
        {
            var key   = $"{CacheKeys.TagStoriesPagePrefix}{alias}-{viewModel.PageNumberNumber}-{viewModel.PageSize}-{sort}";
            var pages = cache.Get <List <String> >(CacheKeys.TagPagesStories);

            if (pages == null)
            {
                pages = new List <String> {
                    key
                };
            }
            else if (!pages.Contains(key))
            {
                pages.Add(key);
            }

            cache.SetSliding(CacheKeys.TagPagesStories, pages, minutesCount);
            cache.SetSliding(key, viewModel, minutesCount);
        }
Ejemplo n.º 3
0
 public static MainPageViewModel GetStoryTagPage(this IMemoryCache cache, String alias, Int32 page, Int32 count, StorySort sort)
 {
     return(cache.Get <MainPageViewModel>($"{CacheKeys.TagStoriesPagePrefix}{alias}-{page}-{count}-{sort}"));
 }