Ejemplo n.º 1
0
    public void SavePageImage(Hashtable State, string page_name, string html)
    {
        //save half size image of page
        HtmlToImage thumb = new HtmlToImage();
        if (State["SelectedDeviceType"].ToString() == Constants.IPAD ||
            State["SelectedDeviceType"].ToString() == Constants.ANDROID_TABLET)
        {
            if (State["BackgroundColor"] == null)
                State["BackgroundColor"] = "#cccccc";

            string background_color_div_prefix = "<div style=\"width:" + Constants.IPAD_SPLASH_PORTRAIT_WIDTH_S + "px;height:" + Constants.IPAD_SPLASH_PORTRAIT_HEIGHT_S + "px;vertical-align:top;background-color:" + State["BackgroundColor"].ToString() + "\" >";
            if (State["SelectedDeviceType"].ToString() == Constants.ANDROID_TABLET)
                background_color_div_prefix = "<div style=\"width:" + Constants.ANDROID_TABLET_PORTRAIT_WIDTH_S + "px;height:" + Constants.ANDROID_TABLET_SPLASH_PORTRAIT_HEIGHT_S + "px;vertical-align:top;background-color:" + State["BackgroundColor"].ToString() + "\" >";
            string background_color_div_suffix = "</div>";
            html = background_color_div_prefix + html + background_color_div_suffix;
        }
        string page_image_url = thumb.ConvertToImageLink(State, page_name, html);
        if (page_image_url != null)
        {
            SaveAppPageImage(State, page_image_url);
        }
    }
Ejemplo n.º 2
0
    public void CopyAppPage(Hashtable State, string page_to_copy, string new_page_name)
    {
        XmlDocument xmlDoc = GetStagingAppXml(State);

        XmlNode prev_page_name_node = xmlDoc.SelectSingleNode("//pages/page/name[.  ='" + page_to_copy + "']");
        if (prev_page_name_node != null)
        {
            XmlNode prev_page_node = prev_page_name_node.ParentNode;
            XmlNode new_page_node = prev_page_node.CloneNode(true);

            //modify prev node with new names
            new_page_node.SelectSingleNode("name").InnerText = new_page_name;
            new_page_node.SelectSingleNode("order").InnerText =  GetNextPageOrder(xmlDoc);

            XmlNodeList fields = new_page_node.SelectSingleNode("fields").ChildNodes;
            foreach (XmlNode field in fields)
            {
                string id = field.SelectSingleNode("id").InnerText;
                field.SelectSingleNode("id").InnerText = new_page_name.Replace(" ","_") + "_" + id;
                if(field.Name == "table")
                {
                  XmlNodeList table_field_names = field.SelectNodes("table_fields/table_field/name");
                  foreach (XmlNode table_field_name in table_field_names)
                  {
                      string name = table_field_name.InnerText;
                      table_field_name.InnerText = new_page_name.Replace(" ", "_") + "_" + name;
                  }
                }
                else if (field.Name == "picker")
                {
                    XmlNodeList picker_field_names = field.SelectNodes("picker_fields/picker_field/name");
                    foreach (XmlNode picker_field_name in picker_field_names)
                    {
                        string name = picker_field_name.InnerText;
                        picker_field_name.InnerText = new_page_name.Replace(" ", "_") + "_" + name;
                    }
                }
            }

            prev_page_node.ParentNode.AppendChild(new_page_node);

            Util util = new Util();
            State["AppXmlDoc"] = xmlDoc;
            util.UpdateStagingAppXml(State);

            HtmlToImage thumb = new HtmlToImage();
            string page_image_url = thumb.ConvertToImageLink(State, new_page_name, State["BackgroundHtml"].ToString());
            if (page_image_url != null)
                util.SaveAppPageImage(State, page_image_url);

        }
    }