public ActionResult UpdatePageTemplates(PageTemplatesDto pageTemplatesDto) { TemplatesModule.UpdatePageTemplates(pageTemplatesDto); return(new JsonNetResult { Data = Json(new { Result = "Successfully updated Page Templates" }) }); }
public PageTemplatesDto GetAllTemplatesForPageByTeamAndPageId(int teamId, int pageId) { var pageTemplateDto = new PageTemplatesDto(); var templateList = new List <PageTemplateDto>(); using (ConsoleRepository) { var pageTemplates = ConsoleRepository.Query <PageTemplate>(pt => pt.Template, pt => pt.TemplatedPage, pt => pt.Team) .Where(pt => pt.TemplatedPageId == pageId && pt.TeamId == teamId).ToList(); var pageStructureTemplate = pageTemplates.FirstOrDefault(pt => pt.Template.IsPageStructureTemplate); if (pageStructureTemplate != null) { pageTemplateDto.PageStructureTemplateId = pageStructureTemplate.Template.Id; pageTemplateDto.PageStructureTemplateTitle = pageStructureTemplate.Template.Title; pageTemplateDto.PageStructureTemplateUrl = pageStructureTemplate.Template.Url; pageTemplates.Remove(pageStructureTemplate); pageTemplates.ForEach(p => templateList.Add(new PageTemplateDto { TemplateId = p.TemplateId, TemplateTitle = p.Template.Title, TemplateUrl = p.Template.Url, TemplateAfterRenderDomFunction = p.Template.AfterRenderDomFunction, IsVisible = p.IsVisible, IsReadOnly = p.IsReadOnly, PageSectionId = p.PageSectionId, SendConnectionKeys = p.SendConnectionKeys, ReceiveConnectionKeys = p.ReceiveConnectionKeys, Settings = p.Settings, })); pageTemplateDto.SectionTemplates = templateList; } else { return(pageTemplateDto); } } return(pageTemplateDto); }
public PageTemplatesDto GetPageTemplates(string templatedPageTitle) { var pageTemplateDto = new PageTemplatesDto(); var user = WebSiteModuleManager.EnsureCurrentUser(); var primaryTeamMembership = user.TeamMemberships.FirstOrDefault(t => t.PrimaryTeamMembership); if (primaryTeamMembership == null) { return(SetDefaultTemplateValues()); } var templateList = new List <PageTemplateDto>(); using (ConsoleRepository) { var page = ConsoleRepository.Query <TemplatedPage>().FirstOrDefault(tp => tp.PageTitle == templatedPageTitle); var pageTemplates = ConsoleRepository.Query <PageTemplate>(pt => pt.Template, pt => pt.TemplatedPage, pt => pt.Team) .Where(pt => pt.TemplatedPageId == page.Id && pt.TeamId == primaryTeamMembership.TeamId); var userPageTemplateSettings = ConsoleRepository.Query <UserPageTemplateSetting>() .Where(pt => pt.TemplatedPageId == page.Id && pt.TeamId == primaryTeamMembership.TeamId && pt.UserId == user.Id); var query = from s in pageTemplates join upts in userPageTemplateSettings on new { s.TemplateId, s.PageSectionId } equals new { upts.TemplateId, upts.PageSectionId } into gj from subpet in gj.DefaultIfEmpty() select new PageTemplateDto() { //Id = s.Id, TemplateId = s.TemplateId, TeamId = s.TeamId, TemplatedPageId = s.TemplatedPageId, TemplateTitle = s.Template.Title, TemplateUrl = s.Template.Url, TemplateAfterRenderDomFunction = s.Template.AfterRenderDomFunction, IsVisible = s.IsVisible, IsReadOnly = s.IsReadOnly, IsSiteStructureTemplate = s.Template.IsPageStructureTemplate, PageSectionId = s.PageSectionId, SendConnectionKeys = s.SendConnectionKeys, ReceiveConnectionKeys = s.ReceiveConnectionKeys, Settings = s.Settings, PersonalSettings = subpet.Settings }; var results = query.ToList(); if (results == null || results.Count == 0) { throw new Exception("Page Templates not found"); } var pageStructureTemplate = results.FirstOrDefault(pt => pt.IsSiteStructureTemplate); if (pageStructureTemplate != null) { pageTemplateDto.PageStructureTemplateId = pageStructureTemplate.TemplateId; pageTemplateDto.PageStructureTemplateTitle = pageStructureTemplate.TemplateTitle; pageTemplateDto.PageStructureTemplateUrl = pageStructureTemplate.TemplateUrl; results.Remove(pageStructureTemplate); pageTemplateDto.SectionTemplates = results; } } return(pageTemplateDto); }
public void UpdatePageTemplates(PageTemplatesDto pageTemplatesDto) { using (ConsoleRepository) { var pageStructureTemplate = ConsoleRepository.Query <PageTemplate>(pt => pt.Template, pt => pt.TemplatedPage, pt => pt.Team) .FirstOrDefault(pt => pt.TemplatedPageId == pageTemplatesDto.PageId && pt.TeamId == pageTemplatesDto.TeamId && pt.Template.IsPageStructureTemplate); if (pageStructureTemplate != null) { var newPageStructureTemplate = ConsoleRepository.Query <Template>() .FirstOrDefault(t => t.Id == pageTemplatesDto.PageStructureTemplateId && t.IsPageStructureTemplate); // Update Page Structure Template if (newPageStructureTemplate != null) { ConsoleRepository.Attach <PageTemplate>(pageStructureTemplate); pageStructureTemplate.Template = newPageStructureTemplate; } else { throw new Exception("UpdatePageTemplates - new pageStructureTemplate not found"); } // Update Page Section Templates var pageSectionTemplates = ConsoleRepository.Query <PageTemplate>(pt => pt.Template, pt => pt.TemplatedPage, pt => pt.Team) .Where(pt => pt.TemplatedPageId == pageTemplatesDto.PageId && pt.TeamId == pageTemplatesDto.TeamId && pt.Template.IsPageStructureTemplate == false).ToList(); if (pageSectionTemplates.Count > 0) { // TODO: turn this into a foreach... foreach (var dtoItem in pageTemplatesDto.SectionTemplates) { var didEdit = false; foreach (var dbItem in pageSectionTemplates) { if (dbItem.PageSectionId == dtoItem.PageSectionId) { dbItem.TemplateId = dtoItem.TemplateId; dbItem.IsVisible = dtoItem.IsVisible; dbItem.SendConnectionKeys = dtoItem.SendConnectionKeys; dbItem.ReceiveConnectionKeys = dtoItem.ReceiveConnectionKeys; dbItem.Settings = String.IsNullOrEmpty(dtoItem.Settings) ? null : dtoItem.Settings; didEdit = true; break; } } if (!didEdit) { ConsoleRepository.Add <PageTemplate>(new PageTemplate() { TemplateId = dtoItem.TemplateId, TeamId = pageTemplatesDto.TeamId, TemplatedPageId = pageTemplatesDto.PageId, PageSectionId = dtoItem.PageSectionId, IsVisible = dtoItem.IsVisible, SendConnectionKeys = dtoItem.SendConnectionKeys, ReceiveConnectionKeys = dtoItem.ReceiveConnectionKeys, Settings = String.IsNullOrEmpty(dtoItem.Settings) ? null : dtoItem.Settings }); } } //for (var index = 0; index < 8; index++) // Up to 8 template sections... //{ // SetTemplateSection(pageTemplatesDto, index, pageSectionTemplates); //} } else { throw new Exception("UpdatePageTemplates - no SectionTemplates found"); } } else { throw new Exception("UpdatePageTemplates - pageStructureTemplate not found"); } ConsoleRepository.SaveChanges(); } }