public async Task <IActionResult> Get( [FromRoute] Guid articleId, CancellationToken ct = default) { var query = new GetCommentsByArticleIdQuery(articleId); var comments = await Mediator.Send(query, ct); return(Ok(comments)); }
public async Task <IEnumerable <Comment> > Handle( GetCommentsByArticleIdQuery request, CancellationToken cancellationToken) { var article = await _context.Articles .AsNoTracking() .Include(a => a.Comments) .SingleOrNotFoundExceptionAsync(request.ArticleId, cancellationToken); return(article.Comments.OrderByCreateTimeDesc()); }
public async Task <IEnumerable <CommentDto> > Handle(GetCommentsByArticleIdQuery request, CancellationToken cancellationToken) { return(_mapper.Map <IEnumerable <CommentDto> >(await _dbContext.Comments.AsNoTracking().Where(c => c.ArticleId.Equals(request.ArticleId)).ToListAsync())); }