private void LoadModuleTree(Microsoft.Web.UI.WebControls.TreeNode currentNode, ModuleType currentModuleType)
    {
        IList subModuleType = null;
        if (currentModuleType != null)
            subModuleType = currentModuleType.SubModuleTypes;
        else
            subModuleType = ModuleTypeSrv.GetAllTopModuleType();

        //增加模块分类
        foreach (ModuleType mt in subModuleType)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "moduletype";
            node.Text = mt.Name;
            node.PKId = mt.Id;
            node.OrderId = mt.OrderId.ToString();

            LoadModuleTree(node, mt);

            node.Expanded = true;
        }

        currentNode.Expanded = true;
    }
    private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, ModuleType currentModuleType, Staff staff)
    {
        //增加子模块分类
        foreach (ModuleType mt in currentModuleType.SubModuleTypes)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "moduletype";
            node.Text = mt.Name;
            AddSubNodes(node, mt, staff);
            node.Expanded = true;
        }

        //增加模块
        foreach (Module m in currentModuleType.Modules)
        {
            if (staff.IsInnerUser == 1 ||
                ((m.Disabled == 0) && staff.HasGrantPermission(ModuleRightSrv.GetModuleRight(m, "rights_browse"))))
            {
                Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
                currentNode.Nodes.Add(node);
                node.Type = "module";
                node.Text = m.Name;
                node.Target = "modulePanel";
                if(m.ModuleUrl != null && m.ModuleUrl.Length > 0)
                {
                    node.NavigateUrl = m.ModuleUrl;
                }
                else
                {
                    node.NavigateUrl = "Welcome.aspx";
                }
            }
        }
    }
    private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, ModuleType currentModuleType)
    {
        //增加子模块分类
        foreach (ModuleType mt in currentModuleType.SubModuleTypes)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "moduletype";
            node.Text = mt.Name;
            node.PKId = mt.Id;
            node.OrderId = mt.OrderId.ToString();

            AddSubNodes(node, mt);

            node.Expanded = true;
        }

        //增加模块
        foreach (Module m in currentModuleType.Modules)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "module";
            node.Text = m.Name;
            node.PKId = m.Id;
            node.OrderId = m.OrderId.ToString();
        }
    }
    private void AddSubNodes(Microsoft.Web.UI.WebControls.TreeNode currentNode, ModuleType currentModuleType, Role role, SysCodeType sct)
    {
        //增加子模块分类
        foreach (ModuleType mt in currentModuleType.SubModuleTypes)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "moduletype";
            node.Text = mt.Name;

            AddSubNodes(node, mt, role, sct);

            node.Expanded = true;
        }

        //增加模块
        foreach (Module m in currentModuleType.Modules)
        {
            Microsoft.Web.UI.WebControls.TreeNode node = new Microsoft.Web.UI.WebControls.TreeNode();
            currentNode.Nodes.Add(node);
            node.Type = "module";
            node.Text = m.Name;

            //增加肯定权限。
            foreach (SysCode sc in sct.SysCodes)
            {
                if (m.ModuleRights.Contains(sc.Tag))
                {
                    ModuleRight mr = m.ModuleRights[sc.Tag] as ModuleRight;
                    Microsoft.Web.UI.WebControls.TreeNode rightsNode = new Microsoft.Web.UI.WebControls.TreeNode();
                    node.Nodes.Add(rightsNode);
                    rightsNode.Type = "grant";
                    rightsNode.Text = sc.Name;
                    rightsNode.PKId = mr.Id;
                    rightsNode.CheckBox = true;
                    rightsNode.Checked = role.ModuleRightsGrant.Contains(mr);
                }
            }

            //增加否定权限。
            foreach (SysCode sc in sct.SysCodes)
            {
                if (m.ModuleRights.Contains(sc.Tag))
                {
                    ModuleRight mr = m.ModuleRights[sc.Tag] as ModuleRight;
                    Microsoft.Web.UI.WebControls.TreeNode rightsNode = new Microsoft.Web.UI.WebControls.TreeNode();
                    node.Nodes.Add(rightsNode);
                    rightsNode.Type = "deny";
                    rightsNode.Text = sc.Name;
                    rightsNode.PKId = mr.Id;
                    rightsNode.CheckBox = true;
                    rightsNode.Checked = role.ModuleRightsDeny.Contains(mr);
                }
            }
        }
    }
 public ModuleType()
 {
     _id = String.Empty;
     _name = String.Empty;
     _remark = String.Empty;
     _order_id = 0;
     _parent_module_type = null;
     _modules = new ArrayList();
     _sub_module_types = new ArrayList();
 }
Exemple #6
0
 public Module()
 {
     _id = String.Empty;
     _tag = String.Empty;
     _name = String.Empty;
     _module_url = String.Empty;
     _remark = String.Empty;
     _disabled = 0;
     _order_id = 0;
     _module_type = null;
     _module_rights = new Hashtable();
 }
        /// <summary>
        /// 新增模块分类。
        /// </summary>
        /// <param name="dto">待新增模块分类的信息。</param>
        /// <returns>新模块分类的Id。</returns>
        public static string InsertModuleType(ModuleTypeDTO dto)
        {
            Db.SessionFactory.EvictQueries("ModuleType");

            ModuleType mt = new ModuleType();
            mt.Id = IdGen.GetNextId(typeof(ModuleType));
            mt.Name = dto.Name;
            mt.Remark = dto.Remark;
            mt.OrderId = dto.OrderId;

            if (dto.ParentModuleTypeId != null && dto.ParentModuleTypeId.Length > 0)
            {
                ModuleType pmt = Db.Session.Load(typeof(ModuleType), dto.ParentModuleTypeId) as ModuleType;
                pmt.AddSubModuleType(mt);
            }

            Db.TransInsert(mt);

            return mt.Id;
        }
Exemple #8
0
 /// <summary>
 /// 增加一个子模块分类。
 /// </summary>
 /// <param name="subDepartment">子模块分类。</param>
 public void AddSubModuleType(ModuleType subModuleType)
 {
     this.SubModuleTypes.Add(subModuleType);
     subModuleType.ParentModuleType = this;
 }
Exemple #9
0
        /// <summary>
        /// 移动模块。
        /// </summary>
        /// <param name="newParent">新的模块分类。</param>
        public void MoveTo(ModuleType newParent)
        {
            ModuleType oldParent = this.ModuleType;
            oldParent.Modules.Remove(this);

            newParent.Modules.Add(this);
            this.ModuleType = newParent;
        }
        /// <summary>
        /// �ƶ�ģ����ࡣ
        /// </summary>
        /// <param name="newParent">�µĸ�ģ����ࡣ</param>
        public void MoveTo(ModuleType newParent)
        {
            if (this.ParentModuleType != null)
            {
                ModuleType oldParent = this.ParentModuleType;
                oldParent.SubModuleTypes.Remove(this);
            }

            if (newParent != null)
            {
                newParent.SubModuleTypes.Add(this);
                this.ParentModuleType = newParent;
            }
            else
            {
                this.ParentModuleType = null;
            }
        }
 /// <summary>
 /// ����һ����ģ����ࡣ
 /// </summary>
 /// <param name="subDepartment">��ģ����ࡣ</param>
 public void AddSubModuleType(ModuleType subModuleType)
 {
     this.SubModuleTypes.Add(subModuleType);
     subModuleType.ParentModuleType = this;
 }