public async Task <PagingResponseMessage <LimitInfoResponse> > Search(UserInfo User, [FromBody] LimitSearchRequest request) { var r = new PagingResponseMessage <LimitInfoResponse>(); try { r = await _limitManager.Search(User, request); } catch (Exception e) { r.Code = ResponseCodeDefines.ServiceError; r.Message = "服务器错误:" + e.Message; Logger.Error("查询费用限额设置失败:\r\n{0}", e.ToString()); } return(r); }
public async Task <PagingResponseMessage <LimitInfoResponse> > Search(UserInfo user, LimitSearchRequest request) { PagingResponseMessage <LimitInfoResponse> r = new PagingResponseMessage <LimitInfoResponse>(); var orgList = await _permissionExpansion.GetOrganizationOfPermission(user.Id, PERMISSION_BXXE); var query = _Store.SimpleQuery; query = query.Where(c => c.IsDeleted == false); if (request != null) { if (!String.IsNullOrEmpty(request.DepartmentId)) { var orgChildren = await _permissionExpansion.GetLowerDepartments(request.DepartmentId); orgList = orgList.Where(x => orgChildren.Contains(x)).ToList(); } } query = query.Where(c => orgList.Contains(c.UserInfo.DepartmentId)); if (request != null) { if (!String.IsNullOrWhiteSpace(request.Keyword)) { query = query.Where(l => (l.UserInfo.UserID.Contains(request.Keyword) || l.UserInfo.Name.Contains(request.Keyword) || l.Memo.Contains(request.Keyword))); } if (request.PageSize > 0 && request.PageIndex > 0) { r.TotalCount = await query.CountAsync(); r.PageIndex = request.PageIndex; r.PageSize = request.PageSize; query = query.Skip((request.PageIndex - 1) * request.PageSize).Take(request.PageSize); } } var list = await query.ToListAsync(); r.Extension = _mapper.Map <List <LimitInfoResponse> >(list); if (r.TotalCount == 0) { r.TotalCount = r.Extension.Count; } return(r); }