Esempio n. 1
0
        private XmlDocument getXmlDocument()
        {
            BLL.tb_SYS_Account bllAccount = new BLL.tb_SYS_Account();
            DataTable          dtAccount  = bllAccount.GetList("ID='" + Session["AccountID"] + "'").Tables[0];

            BLL.tb_SYS_RoleXML bllRoleXML  = new BLL.tb_SYS_RoleXML();
            DataTable          dtRoleXML   = bllRoleXML.GetList("RoleID='" + dtAccount.Rows[0]["RoleID"].ToString() + "'").Tables[0];
            XmlDocument        xmlDocument = new XmlDocument();

            xmlDocument.LoadXml(dtRoleXML.Rows[0]["XML"].ToString());
            return(xmlDocument);
        }
Esempio n. 2
0
        //删除选中记录集
        protected void btnDelete_Click(object sender, EventArgs e)
        {
            string id = gridRole.DataKeys[gridRole.SelectedRowIndex][0].ToString();

            BLL.tb_SYS_Role bllRole = new BLL.tb_SYS_Role();
            string          result  = bllRole.Delete(id);

            if (result == "0")
            {
                Alert.ShowInTop("删除成功", "提示信息", MessageBoxIcon.Information);
                BindGrid();
            }
            else
            {
                hdfMarkRawNO.Text = gridRole.SelectedRowIndex.ToString();
                Alert.ShowInTop("该项被其他项引用,不能删除!", "提示信息", MessageBoxIcon.Error, "highlightRows();");
            }

            BLL.tb_SYS_RoleXML bllRoleXML = new BLL.tb_SYS_RoleXML();
            bllRoleXML.Delete(id);
            BLL.tb_SYS_RoleMenu bllRoleMenu = new BLL.tb_SYS_RoleMenu();
            bllRoleMenu.Delete("RoleID='" + id + "'");
        }
Esempio n. 3
0
        //存储XML
        private void saveXml()
        {
            BLL.vw_SYS_Menu bllMenu_vw    = new BLL.vw_SYS_Menu();
            DataSet         dsXmlResource = bllMenu_vw.GetList("1=1 order by MenuNO,ParentName");

            BLL.vw_SYS_RoleMenu bllRoleMenu_vw = new BLL.vw_SYS_RoleMenu();
            DataSet             dsRemove       = bllRoleMenu_vw.GetListNotInRoleMenu(Request.QueryString["ID"].ToString());

            XmlDocument    xmlSource      = new XmlDocument();
            XmlDeclaration xmlDeclaration = xmlSource.CreateXmlDeclaration("1.0", "utf-8", null);

            xmlSource.AppendChild(xmlDeclaration);
            XmlElement element = xmlSource.CreateElement("Tree");

            xmlSource.AppendChild(element);
            #region 载入全部菜单
            string parentName;
            foreach (DataRow dr in dsXmlResource.Tables[0].Rows)
            {
                if (dr["MenuNO"].ToString() == "0")
                {
                    continue;
                }
                parentName = dr["ParentName"].ToString();
                element    = xmlSource.CreateElement("TreeNode");
                element.SetAttribute("Text", dr["MenuName"].ToString());
                if (dr["MenuUrl"].ToString() != "")
                {
                    element.SetAttribute("NavigateUrl", dr["MenuUrl"].ToString());
                }
                else
                {
                    element.SetAttribute("SingleClickExpand", "true");
                }
                if (dr["MenuNO"].ToString() == "1")
                {
                    xmlSource.SelectSingleNode("Tree").AppendChild(element);
                }
                else
                {
                    xmlSource.SelectSingleNode("//TreeNode[@Text='" + parentName + "']").AppendChild(element);
                }
            }
            #endregion
            #region 移除没有访问权限的菜单
            XmlNode node;
            foreach (DataRow dr in dsRemove.Tables[0].Rows)
            {
                node = xmlSource.SelectSingleNode("//TreeNode[@Text='" + dr["MenuName"].ToString() + "']");
                xmlSource.SelectSingleNode("//TreeNode[@Text='" + dr["ParentName"].ToString() + "']").RemoveChild(node);
            }
            #endregion
            #region 移除没有子节点的中间节点
            XmlNodeList xmlList = xmlSource.SelectNodes("//TreeNode[not(@NavigateUrl)]");
            foreach (XmlNode xmlNode in xmlList)
            {
                if (!xmlNode.HasChildNodes)
                {
                    xmlNode.ParentNode.RemoveChild(xmlNode);
                }
            }
            #endregion

            Model.tb_SYS_RoleXML modelRoleXML = new Model.tb_SYS_RoleXML();
            modelRoleXML.RoleID     = Request.QueryString["ID"].ToString();
            modelRoleXML.XML        = PublicMethod.convertXmlToString(xmlSource);
            modelRoleXML.State      = "0";
            modelRoleXML.UpdateID   = Session["AccountID"].ToString();
            modelRoleXML.UpdateTime = DateTime.Now;

            BLL.tb_SYS_RoleXML bllRoleXML = new BLL.tb_SYS_RoleXML();

            if (!bllRoleXML.Update(modelRoleXML))
            {
                modelRoleXML.UpdateID   = null;
                modelRoleXML.UpdateTime = null;
                modelRoleXML.ID         = Guid.NewGuid().ToString();
                modelRoleXML.CreateID   = Session["AccountID"].ToString();
                modelRoleXML.CreateTime = DateTime.Now;
                bllRoleXML.Add(modelRoleXML);
            }
        }