/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部用户 /// </summary> public TableData Load(QueryUserListReq request) { var loginUser = _auth.GetCurrentUser(); string cascadeId = ".0."; if (!string.IsNullOrEmpty(request.orgId)) { var org = loginUser.Orgs.SingleOrDefault(u => u.Id == request.orgId); cascadeId = org.CascadeId; } IQueryable <User> query = UnitWork.Find <User>(null); if (!string.IsNullOrEmpty(request.key)) { query = UnitWork.Find <User>(u => u.Name.Contains(request.key) || u.Account.Contains(request.key)); } var ids = loginUser.Orgs.Where(u => u.CascadeId.Contains(cascadeId)).Select(u => u.Id).ToArray(); var userIds = _revelanceApp.Get(Define.USERORG, false, ids); var users = query.Where(u => userIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit) .ToList(); var records = query.Count(u => userIds.Contains(u.Id)); var userviews = new List <UserView>(); foreach (var user in users) { UserView uv = AutoMapperExt.MapTo <UserView>(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, }); }
/// <summary> /// 加载当前登录用户可访问的一个部门及子部门全部角色 /// </summary> public TableData Load(QueryRoleListReq request) { var loginUser = _auth.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 roleIds = _revelanceApp.Get(Define.ROLEORG, false, ids); var roles = UnitWork.Find <Role>(u => roleIds.Contains(u.Id)) .OrderBy(u => u.Name) .Skip((request.page - 1) * request.limit) .Take(request.limit).ToList(); var records = Repository.GetCount(u => roleIds.Contains(u.Id)); var roleViews = new List <RoleView>(); foreach (var role in roles) { RoleView uv = role; var orgs = LoadByRole(role.Id); uv.Organizations = string.Join(",", orgs.Select(u => u.Name).ToList()); uv.OrganizationIds = string.Join(",", orgs.Select(u => u.Id).ToList()); roleViews.Add(uv); } return(new TableData { count = records, data = roleViews, }); }
/// <summary> /// 寻找该节点执行人 /// </summary> /// <param name="node"></param> /// <returns></returns> private string GetNodeMakers(FlowNode node) { string makerList = ""; if (node.setInfo != null) { if (node.setInfo.NodeDesignate == Setinfo.ALL_USER)//所有成员 { makerList = "1"; } else if (node.setInfo.NodeDesignate == Setinfo.SPECIAL_USER)//指定成员 { makerList = GenericHelpers.ArrayToString(node.setInfo.NodeDesignateData.users, makerList); } else if (node.setInfo.NodeDesignate == Setinfo.SPECIAL_ROLE) //指定角色 { var users = _revelanceApp.Get(Define.USERROLE, false, node.setInfo.NodeDesignateData.roles); makerList = GenericHelpers.ArrayToString(users, makerList); } } return(makerList); }
//获取角色可访问的模块字段 public IEnumerable <string> LoadPropertiesForRole(string roleId, string moduleCode) { return(_revelanceApp.Get(Define.ROLEDATAPROPERTY, roleId, moduleCode)); }
public IEnumerable <Resource> LoadForRole(string appId, string roleId) { var elementIds = _revelanceApp.Get(Define.ROLERESOURCE, true, roleId); return(UnitWork.Find <Resource>(u => elementIds.Contains(u.Id) && (appId == null || appId == "" || u.AppId == appId))); }