public virtual async Task <PagingResponseMessage <Feedback> > Search(FeedBackSearchCondition condition, CancellationToken cancellationToken = default(CancellationToken))
        {
            PagingResponseMessage <Feedback> pagingResponse = new PagingResponseMessage <Feedback>();
            var q = Store.Feedbacks;

            if (condition?.UserIds?.Count > 0)
            {
                q = q.Where(a => condition.UserIds.Contains(a.UserId));
            }
            if (!string.IsNullOrEmpty(condition.KeyWord))
            {
                q = q.Where(a => a.Content.Contains(condition.KeyWord));
            }
            pagingResponse.TotalCount = await q.CountAsync();

            var resulte = await q.OrderByDescending(a => a.CreateTime).Skip(condition.PageIndex * condition.PageSize).Take(condition.PageSize).ToListAsync(cancellationToken);

            pagingResponse.PageIndex = condition.PageIndex;
            pagingResponse.PageSize  = condition.PageSize;
            pagingResponse.Extension = resulte;
            return(pagingResponse);
        }
Exemplo n.º 2
0
 public async Task <PagingResponseMessage <Feedback> > GetFeedbacks([FromBody] FeedBackSearchCondition condition)
 {
     return(await _feedbackManager.Search(condition, HttpContext.RequestAborted));
 }