public ApprenticeshipVacancyDetailViewModel GetVacancyDetailViewModel(Guid?candidateId, int vacancyId) { _logger.Debug( "Calling ApprenticeshipVacancyDetailProvider to get the Vacancy detail View Model for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); try { var vacancyDetail = candidateId.HasValue ? _candidateService.GetApprenticeshipVacancyDetail(candidateId.Value, vacancyId) : _apprenticeshipSearchService.GetVacancyDetails(vacancyId); if (vacancyDetail == null) { return(null); } var vacancyDetailViewModel = _apprenticeshipSearchMapper.Map <ApprenticeshipVacancyDetail, ApprenticeshipVacancyDetailViewModel>(vacancyDetail); if (candidateId == null) { return(vacancyDetailViewModel); } var applicationDetails = _candidateService.GetApplication(candidateId.Value, vacancyId); if (applicationDetails == null) { return(vacancyDetailViewModel); } // If candidate has applied for vacancy, include the details in the view model. vacancyDetailViewModel.CandidateApplicationStatus = applicationDetails.Status; vacancyDetailViewModel.DateApplied = applicationDetails.DateApplied; return(vacancyDetailViewModel); } catch (CustomException e) { var message = string.Format("Get Apprenticeship Vacancy View Model failed for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); return(new ApprenticeshipVacancyDetailViewModel(ApprenticeshipVacancyDetailPageMessages.GetVacancyDetailFailed)); } catch (Exception e) { var message = string.Format("Get Apprenticeship Vacancy View Model failed for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); throw; } }
public VacancyDetailViewModel GetVacancyDetailViewModel(Guid?candidateId, int vacancyId) { _logger.Debug( "Calling TraineeshipVacancyDetailProvider to get the Vacancy detail View Model for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); try { var vacancyDetail = candidateId.HasValue ? _candidateService.GetTraineeshipVacancyDetail(candidateId.Value, vacancyId) : _vacancySearchService.GetVacancyDetails(vacancyId); if (vacancyDetail == null) { return(null); } var vacancyDetailViewModel = _mapper.Map <TraineeshipVacancyDetail, VacancyDetailViewModel>(vacancyDetail); if (candidateId == null) { return(vacancyDetailViewModel); } var traineeshipApplication = _candidateService.GetTraineeshipApplication(candidateId.Value, vacancyId); if (traineeshipApplication == null) { return(vacancyDetailViewModel); } // If candidate has applied for vacancy, include the details in the view model. vacancyDetailViewModel.DateApplied = traineeshipApplication.DateApplied; return(vacancyDetailViewModel); } catch (CustomException e) { var message = string.Format("Get Traineeship Vacancy View Model failed for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); return(new VacancyDetailViewModel(TraineeshipVacancyDetailPageMessages.GetVacancyDetailFailed)); } catch (Exception e) { var message = string.Format("Get Traineeship Vacancy View Model failed for candidate ID: {0}, vacancy ID: {1}.", candidateId, vacancyId); _logger.Error(message, e); throw; } }