Example #1
0
        public JsonResult TreeAuthRoleNode()
        {
            var nodesBll = new NodesBll();
            var list     = nodesBll.SearchListByValid(Utits.IsSuper);

            list = list == null ? new List <Nodes>() : list.OrderBy(c => c.OrderIndex).ToList();

            IList <AuthRoleNode> mtrList = null;
            Guid roleId = RequestParameters.PGuid("roleID");

            if (roleId != Guid.Empty)
            {
                var authRoleNodeBll = new AuthRoleNodeBll();
                mtrList = authRoleNodeBll.GetListByRoleId(roleId);//角色拥有的节点权限
            }
            if (mtrList == null)
            {
                mtrList = new List <AuthRoleNode>();
            }
            var       listTree = new List <TreeModel>();
            TreeModel itemTree = null;

            foreach (var item in list)
            {
                itemTree      = new TreeModel();
                itemTree.Id   = item.NodeId;
                itemTree.Name = item.NodeName;
                itemTree.Pid  = item.ParentID;
                foreach (AuthRoleNode itemMtr in mtrList)
                {
                    if (item.NodeId == itemMtr.NodeId)
                    {
                        itemTree.Checked = true;
                        break;
                    }
                }
                //itemTree.nocheck = list.Count(c => c.ParentID == item.NodeId) > 0;
                itemTree.Checkbox = !itemTree.nocheck;
                itemTree.open     = true;
                listTree.Add(itemTree);
            }

            return(Json(listTree));
        }