public List <User> GetUserListByOrgId(string OrgId) { var OrgIds = OrgManagerApp.GetOrgAndChilds(OrgId).Select(t => t.Id).ToArray(); var userIds = ReleManagerApp.Get(Define.USERORG, false, OrgIds); return(Repository.Find(t => userIds.Contains(t.Id)).ToList()); }
/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部用户 /// </summary> public TableData Load(QueryUserListReq request) { var loginUser = AuthUtil.GetCurrentUser(); string cascadeId = ".0."; if (!string.IsNullOrEmpty(request.orgId)) { var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId); cascadeId = org.CascadeId; } var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray(); var userIds = ReleManagerApp.Get(Define.USERORG, false, ids); var users = UnitWork.Find <User>(u => userIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit); var records = Repository.GetCount(u => userIds.Contains(u.Id)); var userviews = new List <UserView>(); foreach (var user in users) { UserView uv = user; var orgs = LoadByUser(user.Id); uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); userviews.Add(uv); } return(new TableData { count = records, data = userviews, }); }