public ActionResult Index(ScienceLandingPage model) { var latestNewsSectionService = new LatestNewsSectionService(Umbraco); var scienceLandingPageService = new ScienceLandingPageService(_calloutCardsService, latestNewsSectionService, _navigationItemService); var viewModel = scienceLandingPageService.GetViewModel(model); return(CurrentTemplate(viewModel)); }
private ScienceLatestUpdatesSectionViewModel GetLatestUpdates(ScienceLandingPage model) { var viewModel = new ScienceLatestUpdatesSectionViewModel() { Pages = GetLatestUpdatedPages(model), AToZPageLink = _navigationItemService.GetViewModel(model.AToZpageLink) }; return(viewModel); }
public ScienceLandingPageViewModel GetViewModel(ScienceLandingPage model) { var homePage = model.Site <HomePage>(); return(new ScienceLandingPageViewModel() { FeaturedQuote = model.FeaturedQuote, CalloutCards = _calloutCardsService.GetCalloutCards(model.CalloutCards), LatestNewsSection = _latestNewsSectionService.GetViewModel(homePage), LatestUpdates = GetLatestUpdates(model), ResourcesCollections = GetResourcesCollections(model) }); }
private IEnumerable <ResourcesCollectionViewModel> GetResourcesCollections(ScienceLandingPage model) { var viewModels = new List <ResourcesCollectionViewModel>(); if (ExistenceUtility.IsNullOrEmpty(model.ResourcesCollections)) { return(viewModels); } foreach (var collection in model.ResourcesCollections) { var viewModel = new ResourcesCollectionViewModel() { Title = collection.Title, Resources = _calloutCardsService.GetCalloutCards(collection.Resources), ReadMoreLink = GetViewModelReadMoreLink(collection) }; viewModels.Add(viewModel); } return(viewModels); }
private IEnumerable <ScienceLatestUpdatedPageItemViewModel> GetLatestUpdatedPages(ScienceLandingPage model) { var viewModels = new List <ScienceLatestUpdatedPageItemViewModel>(); var pages = model.Children <ScienceDetailsPage>(); if (ExistenceUtility.IsNullOrEmpty(pages)) { return(viewModels); } var latestPages = pages.OrderByDescending(x => x.UpdateDate) .Take(NumberOfLatestUpdatesItems) .ToArray(); foreach (var page in latestPages) { var viewModel = new ScienceLatestUpdatedPageItemViewModel() { Title = page.GetHeadline(), ReadMoreLink = _navigationItemService.GetViewModel(page) }; if (ExistenceUtility.IsNullOrWhiteSpace(page.Preamble) == false) { viewModel.Content = _htmlStringUtilities.Truncate(page.Preamble.ToHtmlString(), LatestUpdateItemContentLength, true, false); } viewModels.Add(viewModel); } return(viewModels); }