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); }
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()); }
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); }