public async Task <Vacancy> GetAuthorisedVacancyAsync(VacancyRouteModel vrm, string routeName) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId); CheckAuthorisedAccess(vacancy, vrm.EmployerAccountId); CheckRouteIsValidForVacancy(vacancy, routeName); return(vacancy); }
public async Task <JobAdvertConfirmationViewModel> GetVacancyConfirmationJobAdvertAsync(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId); var vm = new JobAdvertConfirmationViewModel { Title = vacancy.Title, VacancyReference = vacancy.VacancyReference?.ToString(), ApprovedJobAdvert = vacancy.Status == VacancyStatus.Submitted, RejectedJobAdvert = vacancy.Status == VacancyStatus.Rejected, TrainingProviderName = vacancy.TrainingProvider.Name, FindAnApprenticeshipUrl = _externalLinksConfiguration.FindAnApprenticeshipUrl }; return(vm); }
public async Task <Vacancy> GetVacancy(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId); Utility.CheckAuthorisedAccess(vacancy, vrm.EmployerAccountId); return(vacancy); }
public async Task <Vacancy> GetVacancy(VacancyRouteModel vrm) { var vacancy = await _client.GetVacancyAsync(vrm.VacancyId.GetValueOrDefault()); Utility.CheckAuthorisedAccess(vacancy, vrm.Ukprn); return(vacancy); }
public async Task <CloseViewModel> GetCloseViewModelAsync(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId.GetValueOrDefault()); Utility.CheckAuthorisedAccess(vacancy, vrm.Ukprn); if (!vacancy.CanClose) { throw new InvalidStateException(string.Format(ErrorMessages.VacancyNotAvailableForClosing, vacancy.Title)); } var vm = new CloseViewModel { Title = vacancy.Title, VacancyReference = vacancy.VacancyReference.Value.ToString() }; return(vm); }
public async Task <DeleteViewModel> GetDeleteViewModelAsync(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId.Value); Utility.CheckAuthorisedAccess(vacancy, vrm.Ukprn); if (!vacancy.CanDelete) { throw new InvalidStateException(string.Format(ErrorMessages.VacancyNotAvailableForEditing, vacancy.Title)); } var vm = new DeleteViewModel { Title = vacancy.Title }; return(vm); }
public static async Task <Vacancy> GetAuthorisedVacancyAsync(IProviderVacancyClient client, IRecruitVacancyClient vacancyClient, VacancyRouteModel vrm, string routeName) { var vacancy = await vacancyClient.GetVacancyAsync(vrm.VacancyId.GetValueOrDefault()); CheckAuthorisedAccess(vacancy, vrm.Ukprn); CheckRouteIsValidForVacancy(vacancy, routeName, vrm); return(vacancy); }
public async Task <Guid> CloneVacancy(string employerAccountId, Guid vacancyId, VacancyUser user) { var vacancy = await _vacancyClient.GetVacancyAsync(vacancyId); Utility.CheckAuthorisedAccess(vacancy, employerAccountId); var clonedVacancyId = await _client.CloneVacancyAsync(vacancyId, user, SourceOrigin.EmployerWeb); return(clonedVacancyId); }
public async Task <Guid> CloneVacancy(string employerAccountId, Guid vacancyId, VacancyUser user) { var vacancy = await _vacancyClient.GetVacancyAsync(vacancyId); _utility.CheckAuthorisedAccess(vacancy, employerAccountId); var clonedVacancyId = await _vacancyClient.CloneVacancyAsync(vacancyId, user, SourceOrigin.EmployerWeb, vacancy.StartDate.GetValueOrDefault(), vacancy.ClosingDate.GetValueOrDefault()); return(clonedVacancyId); }
public async Task <Vacancy> GetVacancyAsync(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId); Utility.CheckAuthorisedAccess(vacancy, vrm.EmployerAccountId); if (vacancy.CanExtendStartAndClosingDates == false) { throw new InvalidStateException(string.Format(ErrMsg.VacancyDatesCannotBeEdited, vacancy.Title)); } return(vacancy); }
public async Task <Vacancy> GetCloneableAuthorisedVacancyAsync(VacancyRouteModel vrm) { var vacancy = await _vacancyClient.GetVacancyAsync(vrm.VacancyId.GetValueOrDefault()); Utility.CheckAuthorisedAccess(vacancy, vrm.Ukprn); if (!vacancy.CanClone) { throw new InvalidStateException(string.Format(ErrorMessages.VacancyNotAvailableForCloning, vacancy.Title)); } return(vacancy); }
public async Task <IActionResult> ConfirmTrainingProvider(ConfirmTrainingProviderViewModel confirmDetailsVm) { if (!TempData.ContainsKey(TrainingProviderJourneyTempDataKey)) { return(RedirectToRoute(RouteNames.TrainingProvider_Select_Get)); } TempData.Remove(TrainingProviderJourneyTempDataKey); var vacancy = await _vacancyClient.GetVacancyAsync(confirmDetailsVm.VacancyId); Utility.CheckAuthorisedAccess(vacancy, confirmDetailsVm.EmployerAccountId); return(View(confirmDetailsVm)); }
public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient vacancyClient, ApplicationReviewRouteModel rm) { var applicationReview = await vacancyClient.GetApplicationReviewAsync(rm.ApplicationReviewId); var vacancy = await vacancyClient.GetVacancyAsync(rm.VacancyId.GetValueOrDefault()); try { CheckAuthorisedAccess(vacancy, rm.Ukprn); return(applicationReview); } catch (Exception) { throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccessForProvider, rm.Ukprn, vacancy.TrainingProvider.Ukprn, rm.ApplicationReviewId, vacancy.Id)); } }
public static async Task <ApplicationReview> GetAuthorisedApplicationReviewAsync(IRecruitVacancyClient client, ApplicationReviewRouteModel rm) { var applicationReview = await client.GetApplicationReviewAsync(rm.ApplicationReviewId); var vacancy = await client.GetVacancyAsync(rm.VacancyId); try { CheckAuthorisedAccess(vacancy, rm.EmployerAccountId); return(applicationReview); } catch (Exception) { throw new AuthorisationException(string.Format(ExceptionMessages.ApplicationReviewUnauthorisedAccess, rm.EmployerAccountId, vacancy.EmployerAccountId, rm.ApplicationReviewId, vacancy.Id)); } }
private async Task <Vacancy> MapDraftVacancyValues(CreateVacancyCommand request, Vacancy draftVacancyFromRequest, bool requiresEmployerReview) { var newVacancy = await _recruitVacancyClient.GetVacancyAsync(draftVacancyFromRequest.Id); draftVacancyFromRequest.VacancyReference = newVacancy.VacancyReference; draftVacancyFromRequest.TrainingProvider = request.Vacancy.TrainingProvider; draftVacancyFromRequest.CreatedByUser = newVacancy.CreatedByUser; draftVacancyFromRequest.CreatedDate = newVacancy.CreatedDate; draftVacancyFromRequest.OwnerType = newVacancy.OwnerType; draftVacancyFromRequest.SourceOrigin = newVacancy.SourceOrigin; draftVacancyFromRequest.SourceType = newVacancy.SourceType; var now = _timeProvider.Now; if (draftVacancyFromRequest.EmployerNameOption == EmployerNameOption.TradingName) { var employerProfile = await _recruitVacancyClient.GetEmployerProfileAsync( draftVacancyFromRequest.EmployerAccountId, draftVacancyFromRequest.AccountLegalEntityPublicHashedId); employerProfile.TradingName = draftVacancyFromRequest.EmployerName; await _recruitVacancyClient.UpdateEmployerProfileAsync(employerProfile, draftVacancyFromRequest.CreatedByUser); } if (requiresEmployerReview) { draftVacancyFromRequest.Status = VacancyStatus.Review; draftVacancyFromRequest.ReviewDate = now; draftVacancyFromRequest.ReviewByUser = request.VacancyUserDetails; draftVacancyFromRequest.ReviewByUser = request.VacancyUserDetails; draftVacancyFromRequest.ReviewCount += 1; } else { draftVacancyFromRequest.Status = VacancyStatus.Submitted; draftVacancyFromRequest.SubmittedDate = now; draftVacancyFromRequest.SubmittedByUser = request.VacancyUserDetails; } draftVacancyFromRequest.LastUpdatedDate = now; draftVacancyFromRequest.LastUpdatedByUser = request.VacancyUserDetails; return(draftVacancyFromRequest); }