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));
        }
Exemple #2
0
        private ScienceLatestUpdatesSectionViewModel GetLatestUpdates(ScienceLandingPage model)
        {
            var viewModel = new ScienceLatestUpdatesSectionViewModel()
            {
                Pages        = GetLatestUpdatedPages(model),
                AToZPageLink = _navigationItemService.GetViewModel(model.AToZpageLink)
            };

            return(viewModel);
        }
Exemple #3
0
        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)
            });
        }
Exemple #4
0
        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);
        }
Exemple #5
0
        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);
        }