/// <summary> /// 给固定菜单增加活动的菜单项,如团支部管理 /// </summary> /// <param name="xmlDoc"></param> /// <returns></returns> public XmlDocument ProcessXmlDocumentRight(XmlDocument xmlDoc) { //--先根据固定菜单产生一份用户的XML XmlDocument xmlMenu = new XmlDocument(); xmlMenu.LoadXml(xmlDoc.InnerXml); //xmlMenu.SelectSingleNode("") //--获取到团员管理菜单 XmlNodeList nodeList = xmlMenu.SelectNodes("Demos/DemoGroup"); XmlNode nodeMember = null; foreach (XmlNode item in nodeList) { String groupName = GetAttributeValue(item.Attributes, "Text"); if(groupName == "人员管理"){ nodeMember = item; } if(authenUser.RoleName == AuthenUserType.TZB_Admin) { if (groupName == "基础信息") { item.ParentNode.RemoveChild(item); } else if (groupName == "系统管理") { List<XmlNode> lstXmlNode = new List<XmlNode>(); foreach (XmlNode sysItem in item.ChildNodes) { String sysItemName = GetAttributeValue(sysItem.Attributes, "Text"); if (sysItemName == "帐户管理" || sysItemName == "日志审计") { //item.RemoveChild(sysItem); lstXmlNode.Add(sysItem); } } foreach (XmlNode nodeRemove in lstXmlNode) { item.RemoveChild(nodeRemove); } } } } //--如果是公司团委管理员,获取到所有的一级支部,否则获取到所管辖的支部 YouthGroupTableAdapter ygAdapder = new YouthGroupTableAdapter(); YouthOneDS.YouthGroupDataTable ygTable = ygAdapder.GetDataZB(); EnumerableRowCollection<YouthOneDS.YouthGroupRow> rows; if (authenUser.YouthGroup == "GSTW") { rows = ygTable.Where<YouthOneDS.YouthGroupRow>(x => x.YG_LEVEL == 1); } else { rows = ygTable.Where<YouthOneDS.YouthGroupRow>(x => x.OID == authenUser.YouthGroup); } //--根据支部数据增加菜单项 if (nodeMember != null && rows != null) { if(AuthUser.RoleName != AuthenUserType.TZB_Admin) AddMemberMenu(xmlMenu, nodeMember, "GSTW", "公司团委"); foreach (YouthOneDS.YouthGroupRow row in rows) { AddMemberMenu(xmlMenu, nodeMember, row.OID, row.YG_NAME); } } return xmlMenu; }