public static PresetInfo GetPresetDetails(string TemplateName, int PortalID) { string presetPath = Decide.IsTemplateDefault(TemplateName.Trim()) ? Utils.GetPresetPath_DefaultTemplate(TemplateName) : Utils.GetPresetPath(TemplateName); presetPath += "/" + "pagepreset.xml"; PresetInfo objPreset = new PresetInfo(); try { objPreset = PresetHelper.LoadPresetDetails(presetPath); PageController objPageController = new PageController(); List <PageEntity> lstMenu = objPageController.GetMenuFront(PortalID, false); foreach (PageEntity obj in lstMenu) { obj.ChildCount = lstMenu.Count( delegate(PageEntity objMenu) { return(objMenu.ParentID == obj.PageID); } ); } List <string> lstPages = new List <string>(); List <KeyValue> lstLayout = new List <KeyValue>(); foreach (KeyValue kvp in objPreset.lstLayouts) { string[] arrPage = kvp.Value.Split(','); List <string> lstNewPage = new List <string>(); foreach (string page in arrPage) { bool exists = lstMenu.Exists( delegate(PageEntity obj) { return(obj.PageName.TrimStart('-') == page); } ); if (exists || page.ToLower() == "all") { lstNewPage.Add(page); } } if (lstNewPage.Count > 0) { lstLayout.Add(new KeyValue(kvp.Key, string.Join(",", lstNewPage.ToArray()))); } } objPreset.lstLayouts = lstLayout; //PresetHelper.WritePreset(presetPath, objPreset); return(objPreset); } catch (Exception) { throw; } }