示例#1
0
    private void LoadRoleTree(Microsoft.Web.UI.WebControls.TreeNode currentNode, RoleType currentRoleType)
    {
        IList subRoleType = null;
        if (currentRoleType != null)
            subRoleType = currentRoleType.SubRoleTypes;
        else
            subRoleType = RoleTypeSrv.GetAllTopRoleType();

        //增加角色分类。
        foreach (RoleType rt in subRoleType)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "roletype";
            node.Text = rt.Name;
            node.PKId = rt.Id;
            node.OrderId = rt.OrderId.ToString();

            LoadRoleTree(node, rt);

            node.Expanded = true;
        }

        currentNode.Expanded = true;
    }
示例#2
0
    private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, RoleType currentRoleType, Staff s)
    {
        //增加子角色分类
        foreach (RoleType rt in currentRoleType.SubRoleTypes)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "roletype";
            node.Text = rt.Name;
            node.PKId = rt.Id;

            AddSubNodes(node, rt, s);

            node.Expanded = true;
        }

        //增加角色
        foreach (Role r in currentRoleType.Roles)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "role";
            node.Text = r.Name;
            node.PKId = r.Id;
            node.CheckBox = true;
            node.Checked = s.Roles.Contains(r);
        }
    }
    private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, RoleType currentRoleType)
    {
        //增加子角色分类
        foreach (RoleType rt in currentRoleType.SubRoleTypes)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "roletype";
            node.Text = rt.Name;
            node.PKId = rt.Id;
            node.OrderId = rt.OrderId.ToString();

            AddSubNodes(node, rt);

            node.Expanded = true;
        }

        //增加角色
        foreach (Role r in currentRoleType.Roles)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "role";
            node.Text = r.Name;
            node.PKId = r.Id;
            node.OrderId = r.OrderId.ToString();
        }
    }
示例#4
0
 public RoleType()
 {
     _id = String.Empty;
     _name = String.Empty;
     _remark = String.Empty;
     _order_id = 0;
     _parent_role_type = null;
     _roles = new ArrayList();
     _sub_role_types = new ArrayList();
 }
示例#5
0
 public Role()
 {
     _id = String.Empty;
     _name = String.Empty;
     _remark = String.Empty;
     _order_id = 0;
     _role_type = null;
     _staff = new HashedSet();
     _module_rights_grant = new HashedSet();
     _module_rights_deny = new HashedSet();
 }
示例#6
0
        /// <summary>
        /// 新增角色分类。
        /// </summary>
        /// <param name="dto">待新增角色分类的信息。</param>
        /// <returns>新角色分类的Id。</returns>
        public static string InsertRoleType(RoleTypeDTO dto)
        {
            Db.SessionFactory.EvictQueries("RoleType");

            RoleType rt = new RoleType();
            rt.Id = IdGen.GetNextId(typeof(RoleType));
            rt.Name = dto.Name;
            rt.Remark = dto.Remark;
            rt.OrderId = dto.OrderId;

            RoleType prt = null;
            if (dto.ParentRoleTypeId != null && dto.ParentRoleTypeId.Length > 0)
            {
                prt = Db.Session.Load(typeof(RoleType), dto.ParentRoleTypeId) as RoleType;
                prt.AddSubRoleType(rt);
            }

            Db.TransInsert(rt);

            return rt.Id;
        }
示例#7
0
        /// <summary>
        /// 移动角色。
        /// </summary>
        /// <param name="newParent">新的角色分类。</param>
        public void MoveTo(RoleType newParent)
        {
            RoleType oldParent = this.RoleType;
            oldParent.Roles.Remove(this);

            newParent.Roles.Add(this);
            this.RoleType = newParent;
        }
示例#8
0
        /// <summary>
        /// �ƶ���ɫ���ࡣ
        /// </summary>
        /// <param name="newParent">�µĸ���ɫ���ࡣ</param>
        public void MoveTo(RoleType newParent)
        {
            if(this.ParentRoleType != null)
            {
                RoleType oldParent = this.ParentRoleType;
                oldParent.SubRoleTypes.Remove(this);
            }

            if(newParent != null)
            {
                newParent.SubRoleTypes.Add(this);
                this.ParentRoleType = newParent;
            }
            else
            {
                this.ParentRoleType = null;
            }
        }
示例#9
0
 /// <summary>
 /// ����һ���ӽ�ɫ���ࡣ
 /// </summary>
 /// <param name="subDepartment">�ӽ�ɫ���ࡣ</param>
 public void AddSubRoleType(RoleType subRoleType)
 {
     this.SubRoleTypes.Add(subRoleType);
     subRoleType.ParentRoleType = this;
 }