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); }
public async Task <PagingResponseMessage <Feedback> > GetFeedbacks([FromBody] FeedBackSearchCondition condition) { return(await _feedbackManager.Search(condition, HttpContext.RequestAborted)); }