public GetSearchRsp GetSearch(GetSearchReq req) { if (req.PageIndex == 0) { req.PageIndex = 1; } var query = Context.Task.Where(x => x.Title.Contains(req.QueryTitle ?? "")); foreach (var sort in req.Sorts) { if (sort.SortOrder == "descend") { query = query.OrderBy(sort.SortField + " DESC"); } else { query = query.OrderBy(sort.SortField); } } var result = new GetSearchRsp() { Data = QueryToDto(query.Skip(--req.PageIndex * req.PageSize).Take(req.PageSize)).ToList(), Total = query.Count(), }; return(result); }
private async Task OnQuery(int pageIndex, int pageSize, List <SortFieldName> sort) { isLoading = true; var req = new GetSearchReq() { QueryTitle = queryTitle, PageIndex = pageIndex, PageSize = pageSize, Sorts = sort, }; var httpRsp = await Http.PostAsJsonAsync <GetSearchReq>($"api/Task/GetSearch", req); var result = await httpRsp.Content.ReadFromJsonAsync <GetSearchRsp>(); datas = result.Data; total = result.Total; isLoading = false; }