public override Task <SearchSysUserResponse> PageSerachSysUser(SearchSysUser request, ServerCallContext context) { var query = _sysUser.GetAll().AsNoTracking(); if (SearchFilter(request) != null) { query = query.Where(SearchFilter(request)); } query = OrderFilter() != null ? query.OrderByDescending(OrderFilter()) : query.OrderByDescending(item => item.Id); var total = query.Count(); var result = query.Skip(request.PageMax * (request.PageIndex - 1)) .Take(request.PageMax) .ToList(); var date = new SearchSysUserResponse { Total = total }; ConvertToEntities(result).ForEach(item => { var role = _role.SingleOrDefault(ro => ro.Id == item.RoleId); item.RoleName = role?.Name; date.Datas.Add(item); }); return(Task.FromResult(date)); }
protected Expression <Func <Domain.SysUser, bool> > SearchFilter(SearchSysUser search) { return(null); }