Пример #1
0
        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));
        }
Пример #2
0
        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());
        }
Пример #3
0
 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()));
 }