Exemple #1
0
        public async Task <ActionResult <IEnumerable <BlogPostSummaryViewModel> > > GetAll(string tag)
        {
            var message = new GetBlogPostsQuery()
            {
                Tag = tag
            };
            var viewModel = await _mediator.Send(message);

            return(Ok(viewModel));
        }
        public async Task GetBlogPostsQueryHandler_ReturnsBlogs()
        {
            var handlerContext        = TestContext.CreateHandlerContext <IEnumerable <BlogPostSummaryViewModel> >(RequestDbContext, CreateMapper());
            var blogPostsQueryHandler = new GetBlogPostsQueryHandler(handlerContext);
            var getBlogPostsQuery     = new GetBlogPostsQuery();

            var result = await blogPostsQueryHandler.Handle(getBlogPostsQuery, CancellationToken.None);

            Assert.NotEmpty(result);
        }
Exemple #3
0
 public async Task <IEnumerable <BlogPost> > HandleAsync(GetBlogPostsQuery query)
 {
     return(await _context.BlogPosts
            .Where(bp => bp.PublishOn < DateTime.Now && bp.Public == true)
            .OrderByDescending(bp => bp.PublishOn)
            .Include(bp => bp.Author)
            .Include(bp => bp.BlogPostCategory)
            .ThenInclude(bpc => bpc.Category)
            .Take(50_000)
            .ToListAsync());
 }
Exemple #4
0
        public async Task <IEnumerable <BlogPostSummaryViewModel> > Handle(GetBlogPostsQuery message, CancellationToken cancellationToken)
        {
            IEnumerable <BlogPostSummaryViewModel> viewModel;

            if (message.Tag == null)
            {
                viewModel = await _cache.GetOrAddAsync(() => ViewModelAsync(null));
            }

            else
            {
                viewModel = await ViewModelAsync(message.Tag);
            }

            return(viewModel);
        }