public ActionResult RegionTemplate(RegionInsertModel m) { var region = new Models.RegionTemplate() { TemplateId = m.TemplateId, Name = m.Name, InternalId = m.InternalId, Type = m.Type, Seqno = m.Seqno }; return(View("Region", region)); }
/// <summary> /// Creates and updates all page types defined by code. /// </summary> private void EnsurePageTypes() { foreach (var type in PageTypes) { var pt = Models.PageTemplate.Get("pagetemplate_type=@0", type.GetType().FullName).SingleOrDefault(); Models.Manager.TemplateModels.PageEditModel m = null; // Get or create the page type if (pt != null) m = Models.Manager.TemplateModels.PageEditModel.GetById(pt.Id, false); else m = new Models.Manager.TemplateModels.PageEditModel(false); // Set all meta data if (m.Template.IsNew) m.Template.Id = Guid.NewGuid(); m.Template.Name = type.Name; m.Template.Description = type.Description; m.Template.Preview = new HtmlString(type.Preview); m.Template.Controller = type.Controller; m.Template.ShowController = type.ShowController; m.Template.View = type.View; m.Template.ShowView = type.ShowView; m.Template.Redirect = type.Redirect; m.Template.ShowRedirect = type.ShowRedirect; m.Template.Properties.Clear(); m.Template.Properties.AddRange(type.Properties); m.Template.Type = type.GetType().FullName; m.Template.IsBlock = type.IsBlock; m.Template.Subpages = type.Subpages; var old = new List<Models.RegionTemplate>(); m.Regions.ForEach(r => old.Add(r)); m.Regions.Clear(); // Create region templates for (int n = 1; n <= type.Regions.Count; n++) { var reg = type.Regions[n - 1]; var rt = old.Where(r => r.InternalId == reg.InternalId && r.Type == reg.Type.FullName).SingleOrDefault(); if (rt == null) rt = new Models.RegionTemplate(); rt.TemplateId = m.Template.Id; rt.InternalId = reg.InternalId; rt.Name = reg.Name; rt.Type = reg.Type.FullName; rt.Seqno = n; m.Regions.Add(rt); } // Delete removed region templates var removed = old.Where(r => !m.Regions.Contains(r)); // Map parent types m.Template.BlockTypes.Clear(); foreach (var parent in type.ParentTypes) { var t = m.Templates.SingleOrDefault(x => x.Type == parent.FullName); if (t != null) m.Template.BlockTypes.Add(t.Id); } // Save Template Data.Database.LoginSys(); foreach (var rem in removed) rem.Delete(); m.SaveAll(); Data.Database.Logout(); } }
/// <summary> /// Creates and updates all page types defined by code. /// </summary> private void EnsurePageTypes() { foreach (var type in PageTypes) { var pt = Models.PageTemplate.Get("pagetemplate_type=@0", type.GetType().FullName).SingleOrDefault(); Models.Manager.TemplateModels.PageEditModel m = null; // Get or create the page type if (pt != null) { m = Models.Manager.TemplateModels.PageEditModel.GetById(pt.Id, false); } else { m = new Models.Manager.TemplateModels.PageEditModel(false); } // Set all meta data if (m.Template.IsNew) { m.Template.Id = Guid.NewGuid(); } m.Template.Name = type.Name; m.Template.Description = type.Description; m.Template.Preview = new HtmlString(type.Preview); m.Template.Controller = type.Controller; m.Template.ShowController = type.ShowController; m.Template.View = type.View; m.Template.ShowView = type.ShowView; m.Template.Redirect = type.Redirect; m.Template.ShowRedirect = type.ShowRedirect; m.Template.Properties.Clear(); m.Template.Properties.AddRange(type.Properties); m.Template.Type = type.GetType().FullName; var old = new List <Models.RegionTemplate>(); m.Regions.ForEach(r => old.Add(r)); m.Regions.Clear(); // Create region templates for (int n = 1; n <= type.Regions.Count; n++) { var reg = type.Regions[n - 1]; var rt = old.Where(r => r.InternalId == reg.InternalId && r.Type == reg.Type.FullName).SingleOrDefault(); if (rt == null) { rt = new Models.RegionTemplate(); } rt.TemplateId = m.Template.Id; rt.InternalId = reg.InternalId; rt.Name = reg.Name; rt.Type = reg.Type.FullName; rt.Seqno = n; m.Regions.Add(rt); } // Delete removed region templates var removed = old.Where(r => !m.Regions.Contains(r)); // Save Template Data.Database.LoginSys(); foreach (var rem in removed) { rem.Delete(); } m.SaveAll(); Data.Database.Logout(); } }
public ActionResult RegionTemplate(RegionInsertModel m) { var region = new Models.RegionTemplate() { TemplateId = m.TemplateId, Name = m.Name, InternalId = m.InternalId, Type = m.Type, Seqno = m.Seqno } ; return View("Region", region) ; }