Ejemplo n.º 1
0
        public async Task <ActionResult <ListResponse <TwithListViewDto> > > GetList([FromQuery] GetTwithListRequest request)
        {
            var query = new GetTwithsListQuery(
                request.Limit,
                request.Offset,
                _identityUserManager.GetCurrentUserId(User)
                );

            return(Ok(
                       new ListResponse <TwithListViewDto>(await CommandQueryDispatcher.SendQueryAsync(query))
                       ));
        }
Ejemplo n.º 2
0
 public Task <List <TwithListViewDto> > Handle(GetTwithsListQuery request, CancellationToken cancellationToken)
 {
     return(_context.Twiths
            .OrderByDescending(t => t.CreatedAt)
            .Take(request.Limit)
            .Skip(request.Offset)
            .Select(t => new TwithListViewDto(
                        t.Id,
                        t.Content.Value,
                        (DateTime)t.CreatedAt,
                        new AuthorDto(t.Author),
                        EF.Property <int>(t, "_likesCount"),
                        _context.Likes.Any(l => l.Twith.Id == t.Id && l.Author.Id == request.CurrentUserId)
                        ))
            .AsNoTracking()
            .ToListAsync(cancellationToken));
 }