public async Task <DurationViewModel> GetDurationViewModelAsync(VacancyRouteModel vrm) { var vacancy = await Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.Duration_Get); var training = await _vacancyClient.GetApprenticeshipProgrammeAsync(vacancy.ProgrammeId); var vm = new DurationViewModel { Duration = vacancy.Wage?.Duration?.ToString(), DurationUnit = vacancy.Wage?.DurationUnit ?? DurationUnit.Month, WorkingWeekDescription = vacancy.Wage?.WorkingWeekDescription, WeeklyHours = $"{vacancy.Wage?.WeeklyHours:0.##}", PageInfo = Utility.GetPartOnePageInfo(vacancy), TrainingTitle = training?.Title, TrainingDurationMonths = training?.Duration ?? 0 }; if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetDurationReviewFieldIndicators()); } return(vm); }