public static void CreateLayoutControls(string TemplateName, PresetInfo PresetObj) { string templatePath = Utils.GetTemplatePath(TemplateName); string presetPath = Utils.GetPresetPath(TemplateName); LayoutControlGenerator lg = new LayoutControlGenerator(); XmlParser parser = new XmlParser(); PresetInfo presetdetails = PresetHelper.LoadPresetDetails(presetPath + "/" + PresetObj.PresetName.Replace(".xml", "") + ".xml"); List <XmlTag> lstXmlTag = parser.GetXmlTags(templatePath + "/layouts/default/" + presetdetails.ActiveLayout.Replace(".xml", "") + ".xml", "layout/section"); string html = lg.GenerateHTML(lstXmlTag); string controlname = PresetObj.ActiveLayout + ".ascx"; 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=" + PresetObj.PresetName + " %>"); sw.Write(html); } }
public static void UpdatePreset(PresetInfo preset, string TemplateName) { string presetPath = Utils.GetPresetPath(TemplateName); try { WritePreset(presetPath + "/" + preset.PresetName + ".xml", preset); } catch (Exception) { throw; } }
public static string LoadActivePresetForPage(string TemplateName, string PageName) { string presetPath = Utils.GetPresetPath(TemplateName); List <PresetInfo> lstActivePresets = new List <PresetInfo>(); string pagepreset = presetPath + "/" + TemplateConstants.PagePresetFile; List <string> lstAllPages = new List <string>(); if (File.Exists(pagepreset)) { lstActivePresets = PresetHelper.ParsePreset(pagepreset, "pagepresets/page", out lstAllPages); } else { lstActivePresets.Add(PresetInfo.GetPresetPages("default", "*")); } string pagepresetactive = "layout.ascx"; foreach (PresetInfo preset in lstActivePresets) { if (preset.IsDefault) { string presetPathFull = presetPath + "/" + preset.PresetName + ".xml"; PresetInfo presetdetail = LoadPresetDetails(presetPathFull); pagepresetactive = presetdetail.ActiveLayout.ToLower() + ".ascx"; } else { string presetPathFull = presetPath + "/" + preset.PresetName + ".xml"; PresetInfo presetdetail = LoadPresetDetails(presetPathFull); foreach (string page in preset.LSTPages) { if (page.ToLower().Equals(PageName.ToLower())) { pagepresetactive = presetdetail.ActiveLayout.ToLower() + ".ascx"; break; } } } } pagepresetactive = "~/Templates/" + TemplateName + "/" + pagepresetactive; return(pagepresetactive); }
/// <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; } }
/// <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; } }
/// <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); }
/// <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); }