public async Task <PaginatedList <BlogPost> > HandleAsync(GetBlogPostsForHomePageQuery query)
        {
            var posts = _context.BlogPosts
                        .Where(bp => bp.PublishOn < DateTime.Now && bp.Public == true)
                        .OrderByDescending(bp => bp.PublishOn)
                        .Include(bp => bp.Author)
                        .Include(bp => bp.Comments);

            return(await PaginatedList <BlogPost> .CreateAsync(posts, query.CurrentPage, query.PageSize));
        }
예제 #2
0
        public async Task <IActionResult> Index(int?page)
        {
            var curPage = page ?? 1;

            var gbpfhp = new GetBlogPostsForHomePageQuery
            {
                CurrentPage = curPage,
                PageSize    = _settings.PostsOnHomePage
            };

            var recentPosts = await _qpa.ProcessAsync(gbpfhp);

            var categories = await _qpa.ProcessAsync(new GetCategoriesQuery());

            var vhvm = new HomeViewModel
            {
                Categories  = categories,
                RecentPosts = recentPosts
            };

            return(View(vhvm));
        }