Пример #1
0
    /// <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;
    }