public async Task <IEnumerable <TossLastQueryItem> > Handle(TossLastQuery request, CancellationToken cancellationToken)
        {
            return(await _session.Query <TossEntity>()
                   .Where(t => t.Tags.Contains(request.HashTag))
                   .OrderByDescending(t => t.CreatedOn)
                   .Select(t => new TossLastQueryItem()
            {
                Content = t.Content.Substring(0, 100),
                CreatedOn = t.CreatedOn,
                Id = t.Id,
                UserName = t.UserName
            })
                   .Take(50)

                   .ToListAsync());
        }
        public async Task <IEnumerable <TossLastQueryItem> > Handle(TossLastQuery request, CancellationToken cancellationToken)
        {
            var query = await _dbTemplate.CreateDocumentQuery();

            var results = await query
                          .Where(t => t.Content.Contains("#" + request.HashTag))
                          .OrderByDescending(t => t.CreatedOn)
                          .Take(50)
                          .AsDocumentQuery()
                          .GetAllResultsAsync();

            return(results
                   .Select(t => new TossLastQueryItem()
            {
                Content = t.Content,
                CreatedOn = t.CreatedOn,
                Id = t.Id,
                UserName = t.UserName
            }));
        }
示例#3
0
        public async Task <IEnumerable <TossLastQueryItem> > Handle(TossLastQuery request, CancellationToken cancellationToken)
        {
            List <TossLastQueryItem> list = await _session.Query <TossEntity>()
                                            .Where(t => t.Tags.Contains(request.HashTag))
                                            .OrderByDescending(t => t.CreatedOn)
                                            .Select(t => new TossLastQueryItem()
            {
                Content   = t.Content.Substring(0, 100),
                CreatedOn = t.CreatedOn,
                Id        = t.Id,
                UserName  = t.UserName,
                Tags      = t.Tags
            })
                                            .Paginate(request.Page, TossLastQuery.TossPerPage)
                                            .ToListAsync();

            foreach (var item in list)
            {
                item.Id = ravenDBIdUtil.GetUrlId(item.Id);
            }
            return(list);
        }
示例#4
0
        public async Task <IActionResult> Last([FromQuery] TossLastQuery query)
        {
            var result = await _mediator.Send(query);

            return(base.Ok(result));
        }
示例#5
0
 public async Task <IActionResult> Last([FromQuery] TossLastQuery hashTag)
 {
     return(Ok(await _mediator.Send(hashTag)));
 }