public IQueryable <CompanyAInfo> SearchConditionFiltration(CompanyASearchCondition condition, IQueryable <CompanyAInfo> query) { //查询主键信息 if (!string.IsNullOrEmpty(condition.KeyWord)) { query = query.Where(x => x.Name.Contains(condition.KeyWord) || x.Address.Contains(condition.KeyWord) || x.PhoneNum == condition.KeyWord); } if (!string.IsNullOrEmpty(condition.Address)) { query = query.Where(x => x.Address.Contains(condition.Address)); } if (!string.IsNullOrEmpty(condition.SearchType)) { query = query.Where(x => x.Type == condition.SearchType); } if (condition.OrderRule) { query = query.OrderByDescending(x => x.CreateTime); } else { query = query.OrderBy(x => x.Type); } return(query); }
public virtual async Task <CompanyASearchResponse <CompanyAInfoResponse> > Search(UserInfo user, CompanyASearchCondition condition, CancellationToken cancellationToken = default(CancellationToken)) { if (condition == null) { throw new ArgumentNullException(nameof(condition)); } var pagingResponse = new CompanyASearchResponse <CompanyAInfoResponse>(); var query = Store.CompanyAInfoAll().Where(a => !a.IsDelete); query = SearchConditionFiltration(condition, query); pagingResponse.TotalCount = await query.CountAsync(cancellationToken); //需要加上排序 var qlist = await query.Skip(condition.pageIndex *condition.pageSize).Take(condition.pageSize).ToListAsync(cancellationToken); pagingResponse.PageIndex = condition.pageIndex; pagingResponse.PageSize = condition.pageSize; pagingResponse.Extension = _mapper.Map <List <CompanyAInfoResponse> >(qlist); return(pagingResponse); }
public async Task <CompanyASearchResponse <CompanyAInfoResponse> > Search(UserInfo user, [FromBody] CompanyASearchCondition condition) { Logger.Trace($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询条件(Search):\r\n请求参数为:\r\n" + (condition != null ? JsonHelper.ToJson(condition) : "")); var pagingResponse = new CompanyASearchResponse <CompanyAInfoResponse>(); if (!ModelState.IsValid) { pagingResponse.Code = ResponseCodeDefines.ModelStateInvalid; Logger.Warn($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询条件(Search)模型验证失败:\r\n{pagingResponse.Message ?? ""},\r\n请求参数为:\r\n" + (condition != null ? JsonHelper.ToJson(condition) : "")); return(pagingResponse); } try { pagingResponse = await _extraDataInfoManager.Search(user, condition, HttpContext.RequestAborted); } catch (Exception e) { pagingResponse.Code = ResponseCodeDefines.ServiceError; pagingResponse.Message = "服务器错误:" + e.ToString(); Logger.Error($"用户{user?.UserName ?? ""}({user?.Id ?? ""})查询条件(Search)请求失败:\r\n{pagingResponse.Message ?? ""},\r\n请求参数为:\r\n" + (condition != null ? JsonHelper.ToJson(condition) : "")); } return(pagingResponse); }