Пример #1
0
    public void DeleteAppPage(Hashtable State, string page_name)
    {
        Util util = new Util();
        XmlDocument xmlDoc = GetStagingAppXml(State);
        XmlNode page_name_node = xmlDoc.SelectSingleNode("//pages/page/name[.  ='" + page_name + "']");
        if (page_name_node != null)
        {
            XmlNode page_node = page_name_node.ParentNode;
            XmlNode pages_node = page_node.ParentNode;
            pages_node.RemoveChild(page_node);
            State["AppXmlDoc"] = xmlDoc;
            util.UpdateStagingAppXml(State);
            util.DeleteAppPageImage(State, page_name);
        }

        //get first page first to see if that needs to be changed
        XmlNode first_page_name = xmlDoc.SelectSingleNode("//pages/first_page_name");
        if (first_page_name == null)
        {
            XmlNode pages = xmlDoc.SelectSingleNode("//pages");
            first_page_name = CreateNode(xmlDoc, pages, "first_page_name", "");
        }
        if (page_name == first_page_name.InnerText || first_page_name.InnerText == "")
        {
            //take first page we see
            XmlNode first_page_name_node = xmlDoc.SelectSingleNode("//pages/page/name");
            if (first_page_name_node != null)
            {
                first_page_name.InnerText = first_page_name_node.InnerText;
                State["AppXmlDoc"] = xmlDoc;
                util.UpdateStagingAppXml(State);
            }
        }
    }