/// <summary> /// The default action to render the front-end view /// </summary> /// <param name="model"/> /// <returns/> public new async Task <ActionResult> Index(RenderModel model) { if (model == null) { throw new ArgumentNullException(nameof(model)); } var mediaUrlTransformer = new RemoveMediaDomainUrlTransformer(); var viewModel = new GuideStepViewModelFromUmbraco(model.Content, new RelatedLinksService(mediaUrlTransformer, new RemoveAzureDomainUrlTransformer()), mediaUrlTransformer ).BuildModel(); // Add common properties to the model var modelBuilder = new BaseViewModelBuilder(new EastSussexGovUKTemplateRequest(Request, webChatSettingsService: new UmbracoWebChatSettingsService(model.Content, new UrlListReader()))); var expiryDate = new ExpiryDateFromExamine(model.Content.Id, ExamineManager.Instance.SearchProviderCollection["ExternalSearcher"], new ExpiryDateMemoryCache(TimeSpan.FromHours(1))); await modelBuilder.PopulateBaseViewModel(viewModel, model.Content, new ContentExperimentSettingsService(), expiryDate.ExpiryDate, UmbracoContext.Current.InPreviewMode, new SkinFromUmbraco()); modelBuilder.PopulateBaseViewModelWithInheritedContent(viewModel, new UmbracoLatestService(model.Content), new UmbracoSocialMediaService(model.Content), new UmbracoEastSussex1SpaceService(model.Content), new UmbracoEscisService(model.Content), new RatingSettingsFromUmbraco(model.Content)); new HttpCachingService().SetHttpCacheHeadersFromUmbracoContent(model.Content, UmbracoContext.Current.InPreviewMode, Response.Cache, new IExpiryDateSource[] { expiryDate, new ExpiryDateFromPropertyValue(model.Content, "latestUnpublishDate_Latest") }); return(CurrentTemplate(viewModel)); }
private async static Task <GuideStepViewModel> MapUmbracoContentToGuideStepViewModel(IPublishedContent content, IEastSussexGovUKTemplateRequest templateRequest) { var mediaUrlTransformer = new RemoveMediaDomainUrlTransformer(); var viewModel = new GuideStepViewModelFromUmbraco(content, new RelatedLinksService(mediaUrlTransformer, new RemoveAzureDomainUrlTransformer()), mediaUrlTransformer ).BuildModel(); // Add common properties to the model var modelBuilder = new BaseViewModelBuilder(templateRequest); await modelBuilder.PopulateBaseViewModel(viewModel, content, new ContentExperimentSettingsService(), new ExpiryDateFromExamine(content.Id, ExamineManager.Instance.SearchProviderCollection["ExternalSearcher"], new ExpiryDateMemoryCache(TimeSpan.FromHours(1))).ExpiryDate, UmbracoContext.Current.InPreviewMode, new SkinFromUmbraco()); modelBuilder.PopulateBaseViewModelWithInheritedContent(viewModel, new UmbracoLatestService(content), new UmbracoSocialMediaService(content), new UmbracoEastSussex1SpaceService(content), new UmbracoEscisService(content)); return(viewModel); }