Ejemplo n.º 1
0
        /// <summary>
        /// Load active page preset.
        /// </summary>
        /// <param name="TemplateName">Template name.</param>
        /// <param name="PageName">Page name.</param>
        /// <returns>Object of PresetInfo class.</returns>
        public static PresetInfo LoadActivePagePreset(string TemplateName, string PageName)
        {
            string     presetPath       = TemplateName.ToLower().Equals("default") ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
            string     pagepreset       = presetPath + "/" + TemplateConstants.PagePresetFile;
            PresetInfo pagepresetactive = new PresetInfo();

            pagepresetactive = LoadPresetDetails(pagepreset);
            string defaultPreset = string.Empty;

            foreach (KeyValue kvp in pagepresetactive.lstLayouts)
            {
                string   presetPathFull = string.Empty;
                string[] arrPages       = kvp.Value.ToString().Split(',');
                foreach (string page in arrPages)
                {
                    if (page.ToLower().Equals(PageName.ToLower()))
                    {
                        pagepresetactive.ActiveLayout = kvp.Key;
                        break;
                    }
                }
                if (kvp.Value.Equals("all") || kvp.Value.Equals("All") || kvp.Value.Equals("*") || kvp.Value.Equals(""))
                {
                    defaultPreset = kvp.Key;
                }
            }
            if (pagepresetactive.ActiveLayout == "" || pagepresetactive.ActiveLayout == null)
            {
                pagepresetactive.ActiveLayout = defaultPreset;
            }
            return(pagepresetactive);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Update existing preset.
        /// </summary>
        /// <param name="preset">Object of PresetInfo class.</param>
        /// <param name="TemplateName">Template name.</param>
        public static void UpdatePreset(PresetInfo preset, string TemplateName)
        {
            string presetPath = TemplateName.ToLower().Equals("default") ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);

            try
            {
                WritePreset(string.Format("{0}/pagepreset.xml", presetPath), preset);
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Create handheld layout control.
        /// </summary>
        /// <param name="TemplateName">Template name.</param>
        public static void CreateHandheldLayoutControls(string TemplateName)
        {
            string templatePath    = TemplateName.ToLower().Equals("default") ? Utils.GetTemplatePath_Default(TemplateName) : Utils.GetTemplatePath(TemplateName);
            string presetPath      = TemplateName.ToLower().Equals("default") ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName);
            ModulePaneGenerator mg = new ModulePaneGenerator();
            string    filePath     = templatePath + "/layouts/handheld.xml";
            XmlParser parser       = new XmlParser();

            try
            {
                List <XmlTag> lstXmlTag   = parser.GetXmlTags(filePath, "layout/section");
                List <XmlTag> lstWrappers = parser.GetXmlTags(filePath, "layout/wrappers");

                string html         = mg.GenerateHTML(lstXmlTag, lstWrappers, 2);
                string controlclass = Path.GetFileNameWithoutExtension(filePath);
                string controlname  = string.Format("{0}.ascx", controlclass);
                if (!File.Exists(templatePath + "/" + controlname))
                {
                    FileStream fs = null;
                    using (fs = File.Create(templatePath + "/" + controlname))
                    {
                    }
                }
                else
                {
                    File.Delete(templatePath + "/" + controlname);
                    FileStream fs = null;
                    using (fs = File.Create(templatePath + "/" + controlname))
                    {
                    }
                }

                using (StreamWriter sw = new StreamWriter(templatePath + "/" + controlname))
                {
                    sw.Write("<%@ Control Language=\"C#\" ClassName=" + controlclass + " %>");
                    sw.Write(html);
                }
            }
            catch (Exception)
            {
                throw;
            }
        }
Ejemplo n.º 4
0
        /// <summary>
        /// preset details.
        /// </summary>
        /// <param name="xmlPath">String format of XML.</param>
        /// <returns>object of PresetInfo class.</returns>
        public static PresetInfo LoadPresetDetails(string xmlPath)
        {
            if (!File.Exists(xmlPath))
            {
                xmlPath = string.Format("{0}/pagepreset.xml", Utils.GetPresetPath_DefaultTemplate("default"));
            }
            XmlDocument     doc        = XmlHelper.LoadXMLDocument(xmlPath);
            XmlNode         xnpreset   = doc.SelectSingleNode("pagepreset");
            XmlNodeList     xnlist     = xnpreset.ChildNodes;
            PresetInfo      preset     = new PresetInfo();
            List <KeyValue> lstLayouts = new List <KeyValue>();

            foreach (XmlNode node in xnlist)
            {
                switch (node.Name)
                {
                case "layout":
                    XmlNodeList layouts = node.ChildNodes;

                    foreach (XmlNode layout in layouts)
                    {
                        lstLayouts.Add(new KeyValue(layout.Attributes["layout"].Value, layout.InnerText));
                    }
                    break;

                case "theme":
                    preset.ActiveTheme = node.InnerText;
                    break;

                case "width":
                    preset.ActiveWidth = node.InnerText;
                    break;
                }
                preset.lstLayouts = lstLayouts;
            }
            return(preset);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Load assigne preset for associate page.
        /// </summary>
        /// <param name="TemplateName">Template name.</param>
        /// <param name="PageName">Page name.</param>
        /// <returns>Preset path.</returns>
        public static string LoadActivePresetForPage(string TemplateName, string PageName)
        {
            string            presetPath       = TemplateName.ToLower().Equals("default")?Utils.GetPresetPath_DefaultTemplate(TemplateName):Utils.GetPresetPath(TemplateName);
            List <PresetInfo> lstActivePresets = new List <PresetInfo>();
            string            pagepreset       = presetPath + "/" + TemplateConstants.PagePresetFile;
            List <string>     lstAllPages      = new List <string>();

            if (File.Exists(pagepreset))
            {
                if (!CacheHelper.Get("PresetList", out lstActivePresets))
                {
                    lstActivePresets = PresetHelper.ParsePreset(pagepreset, "pagepreset/layout/preset", out lstAllPages);
                    CacheHelper.Add(lstActivePresets, "PresetList");
                }
            }
            else
            {
                lstActivePresets.Add(PresetInfo.GetPresetPages("default", "*"));
            }
            string pagepresetactive = string.Empty;
            string defaultpreset    = "layout.ascx";

            foreach (PresetInfo preset in lstActivePresets)
            {
                if (preset.IsDefault)
                {
                    defaultpreset = string.Format("{0}.ascx", preset.PresetName);;
                }
                else
                {
                    string presetPathFull = string.Empty;
                    foreach (string page in preset.LSTPages)
                    {
                        if (page.ToLower().Equals(PageName.ToLower()))
                        {
                            pagepresetactive = string.Format("{0}.ascx", preset.PresetName);;
                            break;
                        }
                    }
                }
            }
            if (pagepresetactive == string.Empty)
            {
                pagepresetactive = defaultpreset;
            }
            pagepresetactive = Decide.IsTemplateDefault(TemplateName)?string.Format("~/Core/Template/{1}", TemplateName, pagepresetactive):string.Format("~/Templates/{0}/{1}", TemplateName, pagepresetactive);
            return(pagepresetactive);
        }