Beispiel #1
0
        public JsonResult GetRolePrivileges(int RoleID, FormCollection form)
        {
            List <JsonTreeNode> treelist = new List <JsonTreeNode>();

            string parentId = form["id"];


            List <Privilege> list = sysManageService.GetRoleAuthorizationPermissions(RoleID, base.UserId, parentId);

            foreach (Privilege p in list)
            {
                JsonTreeNode node = new JsonTreeNode();
                node.hasChildren = p.HasChild;
                node.id          = p.PrivilegeCode;
                node.text        = p.PrivilegeName;
                node.value       = p.IsChecked ? "true" : "false";
                node.showcheck   = true;
                node.checkstate  = p.IsChecked ? (byte)1 : (byte)0;
                if (string.IsNullOrEmpty(parentId) && node.hasChildren && treelist.Count == 0) //如果是第一层就再获取一层
                {
                    List <Privilege> clist = sysManageService.GetRoleAuthorizationPermissions(RoleID, base.UserId, node.id);
                    foreach (Privilege cp in clist)
                    {
                        JsonTreeNode cnode = new JsonTreeNode();
                        cnode.hasChildren = cp.HasChild;
                        cnode.id          = cp.PrivilegeCode;
                        cnode.text        = cp.PrivilegeName;
                        cnode.value       = cp.IsChecked ? "true" : "false";
                        cnode.showcheck   = true;
                        cnode.checkstate  = cp.IsChecked ? (byte)1 : (byte)0;
                        node.ChildNodes.Add(cnode);
                    }
                    node.complete = true;
                    node.isexpand = true;
                }

                treelist.Add(node);
            }
            return(Json(treelist));
        }