private IEnumerable <JobItemViewModel> GetLatestJobs(CareersLandingPage model)
        {
            var latestJobs = model.Children <IndividualJobPage>().OrderByDescending(x => x.UpdateDate).Take(NumberOfLatestJobs);
            var viewModels = new List <JobItemViewModel>();

            if (latestJobs.Any() == false)
            {
                return(viewModels);
            }

            foreach (var job in latestJobs)
            {
                var viewModel = new JobItemViewModel()
                {
                    JobTitle = job.GetHeadline(),
                    Url      = job.Url,
                    Grade    = job.Grade,
                    Location = job.Location
                };

                viewModels.Add(viewModel);
            }

            return(viewModels);
        }
        private IEnumerable <CareersListItemViewModel> GetCareers(CareersLandingPage model)
        {
            var jobs       = model.Children <IndividualJobPage>();
            var viewModels = new List <CareersListItemViewModel>();

            if (jobs.Any() == false)
            {
                return(viewModels);
            }

            foreach (var job in jobs.OrderBy(x => x.SortOrder))
            {
                var viewModel = new CareersListItemViewModel()
                {
                    Grade    = job.Grade,
                    JobTitle = job.GetHeadline(),
                    Location = job.Location,
                    Team     = job.Team,
                    Type     = job.TypeOfAppointment,
                    Url      = job.Url
                };

                viewModels.Add(viewModel);
            }

            return(viewModels);
        }
 public CareersSidebarViewModel GetViewModel(CareersLandingPage model)
 {
     return(new CareersSidebarViewModel
     {
         PrimaryCallToActionButton = _navigationItemService.GetViewModel(model.SidebarPrimaryCallToActionButton),
         LatestJobs = GetLatestJobs(model),
         SeeAlsoLinks = _navigationItemService.GetViewModels(model.SidebarSeeAlsoLinks)
     });
 }
 public CareersLandingPageViewModel GetViewModel(CareersLandingPage model)
 {
     return(new CareersLandingPageViewModel()
     {
         Preamble = model.Preamble,
         MainContent = model.MainContent,
         Careers = GetCareers(model)
     });
 }
Exemplo n.º 5
0
        public ActionResult Index(CareersLandingPage model)
        {
            var viewModel = _careersLandingPageService.GetViewModel(model);

            return(CurrentTemplate(viewModel));
        }