public JsonResult RolePermissionsTree(Guid roleId) { //该角色的权限 var rolePermissions = us.GetRolePermissions(roleId); var allPermissions = us.GetAllPermissions(); var permissionsTree = new List <ZTree>(); foreach (var allP in allPermissions) { var ztree = new ZTree(); ztree.id = allP.PermissionId; ztree.name = allP.Name; ztree.pId = allP.PermissionPId; if (allP.PermissionPId.ToString() == "00000000-0000-0000-0000-000000000000") { ztree.open = true; } foreach (var roleP in rolePermissions) { if (allP.PermissionId == roleP.PermissionId) { ztree.@checked = true; } } permissionsTree.Add(ztree); } JsonResult json = new JsonResult { Data = permissionsTree }; return(Json(json, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 获取树形数据 /// </summary> /// <param name="roleid">角色ID</param> /// <returns></returns> public async Task <List <ZTree> > GetBoxTreeAsync(long roleid) { var dbrole = await _databaseFixture.Db.SysRole.FindAsync(m => m.RoleId == roleid && m.IsDel == 0); if (dbrole == null) { return(null); } //系统下全部资源 var reslist = await _databaseFixture.Db.SysResource.FindAllAsync(m => m.SystemId == dbrole.SystemId && m.IsDel == 0); var dbres = reslist.OrderBy(m => m.Sort).ToList(); //资源角色关系(含操作按钮) var resrolelist = await _databaseFixture.Db.SysRoleResource.FindAllAsync(m => m.RoleId == roleid); var dbresrole = resrolelist.ToList(); List <ZTree> trees = new List <ZTree>(); foreach (var item in dbres) { ZTree tree = new ZTree() { id = item.ResourceId.ToString(), name = item.ResourceName, open = true, pId = item.ParentId }; var firstres = dbresrole.FirstOrDefault(m => m.ResourceId == item.ResourceId && m.RoleId == roleid); tree.@checked = firstres != null; trees.Add(tree); } return(trees); }
/// <summary> /// 获取角色树 /// </summary> /// <param name="userid">用户ID</param> /// <returns></returns> public async Task <List <ZTree> > GetTreeAsync(long userid) { //系统列表 var dbsys = await _databaseFixture.Db.SysSystem.FindAllAsync(m => m.IsDel == 0); var systemlists = dbsys.ToList(); var rolelist = await _databaseFixture.Db.SysRole.FindAllAsync(m => m.IsDel == 0); var dbrole = rolelist.Select(m => new { m.RoleId, m.RoleName, m.SystemId }).ToList(); var userrolelist = await _databaseFixture.Db.SysUserRole.FindAllAsync(m => m.UserId == userid); var dbuserrole = userrolelist.ToList(); List <ZTree> trees = systemlists.Select(system => new ZTree() { id = system.SystemCode, name = system.SystemName, pId = 0 }).ToList(); foreach (var item in dbrole) { var system = systemlists.FirstOrDefault(m => m.SystemId == item.SystemId); if (system != null) { ZTree tree = new ZTree() { id = item.RoleId.ToString(), name = item.RoleName, pId = system.SystemCode }; var first = dbuserrole.FirstOrDefault(m => m.RoleId == item.RoleId); tree.@checked = first != null; trees.Add(tree); } } return(trees); }
/// <summary> /// 获取数据权限信息 /// </summary> /// <param name="model"></param> /// <returns></returns> public async Task <DataPrivilegesViewModel> GetPrivilegesAsync(DataPrivilegesViewModel model) { model.ZTrees = new List <ZTree>(); var dbdepts = await _databaseFixture.Db.SysDept.FindAllAsync(m => m.IsDel == 0); var dataplist = await _databaseFixture.Db.SysDataPrivileges.FindAllAsync(m => m.SystemId == model.SystemId && m.UserId == model.UserId); var dbdatap = dbdepts.ToList(); foreach (var item in dbdepts) { ZTree tree = new ZTree() { id = item.DeptId.ToString(), name = item.DeptName, pId = item.ParentId.ToString() }; var first = dbdatap.FirstOrDefault(m => m.DeptId == item.DeptId); tree.@checked = first != null; model.ZTrees.Add(tree); } return(model); }
public ZtreeControl(ZTree ztree) { InitializeComponent(); this.ztree = ztree; cmbWindowSizes.ItemsSource = service.WindowSizes; }
/// <summary> /// 返回Group群组 /// </summary> /// <returns></returns> public IActionResult ToSelectGroup() { List <ZTree> objList = new List <ZTree>(); //获取用户群组 Expression <Func <UserGroup, bool> > _expressionUserGroup = _expressionUserGroup = f => 0 == 0; List <UserGroup> objUserGroupList = _userGroupService.QueryableToList(_expressionUserGroup); if (objUserGroupList.Count > 0) { //读取媒体群组 string url = string.Format("{0}?id=-1", group_url_get); string jsonStr = HttpHelper.HttpGet(url); List <MediaGroup> objMediaGroupList = JsonConvert.DeserializeObject <List <MediaGroup> >(jsonStr); List <MediaGroup> mediaGroupList = new List <MediaGroup>(); foreach (var itme in objUserGroupList) { ZTree obj = new ZTree(); obj.id = GlobalParameter._PREFIX + itme.id; obj.name = itme.group_name; obj.pId = "0"; obj.open = true; objList.Add(obj); if (objMediaGroupList.Where(f => f.group_id == itme.id).ToList().Count <= 0)//判断媒体群组是否需要建立默认的 { MediaGroup mediaGroup = new MediaGroup(); mediaGroup.parent_id = 0; mediaGroup.mgroup_name = "new group"; mediaGroup.group_id = itme.id; mediaGroupList.Add(mediaGroup); } } //新增默认的媒体群组 if (mediaGroupList.Count > 0) { foreach (var items in mediaGroupList) { string data = JsonConvert.SerializeObject(items); HttpHelper.HttpPost(group_url_add, data); } } //重新获取媒体群组 if (objMediaGroupList.Count <= 0) { objMediaGroupList = JsonConvert.DeserializeObject <List <MediaGroup> >(HttpHelper.HttpGet(url)); } foreach (var itme in objMediaGroupList) { ZTree obj = new ZTree(); obj.id = itme.id.ToString(); obj.name = itme.mgroup_name; if (itme.parent_id == 0) { obj.pId = GlobalParameter._PREFIX + itme.group_id; } else { obj.pId = itme.parent_id.ToString(); } objList.Add(obj); } } return(Json(objList)); }