public ActionResult Index() { var sections = _sectionNodeService.GetAllWithDetails().ToList(); var sectionTemplates = _sectionTemplateService.GetAllSectionTemplates().ToList(); var model = new SiteSectionsModel { SidebarMenu = GetAdminMenu(), UserMenu = GetAdminUserMenu(), Sections = _mapper.Map <IEnumerable <SectionNode>, IEnumerable <SectionNodeLightViewModel> >(sections), SectionTemplates = _mapper.Map <IEnumerable <SectionTemplate>, IEnumerable <SectionTemplateViewModel> >(sectionTemplates) }; return(View(model)); }
private void ProcessControllers() { _controllers = _controllers.ToList(); var sectionTemplates = _sectionTemplateService.GetAllSectionTemplates().ToList(); var controllerNames = _controllers.Select(y => y.Name).ToList(); var sectionTemplateControllerNames = sectionTemplates.Select(x => x.ControllerName).ToList(); var sectionTemplatesToRemove = sectionTemplates.Where(x => !controllerNames.Contains(x.ControllerName)).ToList(); var newControllerTypes = _controllers.Where(x => !sectionTemplateControllerNames.Contains(x.Name)).ToList(); var sectionTemplatesToUpdate = sectionTemplates.Where(x => controllerNames.Contains(x.ControllerName)).ToList(); //remove any templates that don't have a controller anymore RemoveSectionTemplatesWithNoExistingController(sectionTemplatesToRemove); //create templates for any controllers that don't have a template with that controller name CreateSectionTemplatesForNewControllers(newControllerTypes); //update any templates that still have a controller UpdateSectionTemplates(sectionTemplatesToUpdate, _controllers); }
public void ProcessMvcFiles_ControllerDoesNotSubclassCmsController_DoesNotCreateSectionTemplate() { //arrange //act _templateEngine.GenerateTemplates(_assembly); //assert var sectionTemplates = _sectionTemplateService.GetAllSectionTemplates(); sectionTemplates.Count().Should().Be.EqualTo(NumValidControllersInCurrentProject); }