Пример #1
0
        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));
        }
Пример #2
0
        /// <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);
        }
Пример #4
0
        /// <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);
        }
Пример #5
0
 public ZtreeControl(ZTree ztree)
 {
     InitializeComponent();
     this.ztree = ztree;
     cmbWindowSizes.ItemsSource = service.WindowSizes;
 }
Пример #6
0
        /// <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));
        }