public async Task <LegalEntityAgreementSoftStopViewModel> GetLegalEntityAgreementSoftStopViewModelAsync(VacancyRouteModel vrm) { var vacancy = await Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.LegalEntityAgreement_SoftStop_Get); return(new LegalEntityAgreementSoftStopViewModel { HasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.LegalEntityId), LegalEntityName = vacancy.EmployerName, PageInfo = Utility.GetPartOnePageInfo(vacancy) }); }
private async Task <SubmitVacancyResponse> SubmitActionAsync(Vacancy vacancy, VacancyUser user) { var hasLegalEntityAgreementTask = _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId); var hasProviderAgreementTask = _trainingProviderAgreementService.HasAgreementAsync(vacancy.TrainingProvider.Ukprn.Value); await Task.WhenAll(hasLegalEntityAgreementTask, hasProviderAgreementTask); var response = new SubmitVacancyResponse { HasLegalEntityAgreement = hasLegalEntityAgreementTask.Result, HasProviderAgreement = hasProviderAgreementTask.Result, IsSubmitted = false }; if (response.HasLegalEntityAgreement && response.HasProviderAgreement) { var command = new SubmitVacancyCommand(vacancy.Id, user, OwnerType.Provider); await _messaging.SendCommandAsync(command); response.IsSubmitted = true; } return(response); }
public async Task <LegalEntityAgreementHardStopViewModel> GetLegalEntityAgreementHardStopViewModelAsync(VacancyRouteModel vrm) { var vacancy = await Utility.GetAuthorisedVacancyForEditAsync( _client, _vacancyClient, vrm, RouteNames.LegalEntityAgreement_HardStop_Get); return(new LegalEntityAgreementHardStopViewModel { HasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync( vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId), LegalEntityName = vacancy.LegalEntityName }); }
public async Task <LegalEntityAgreementSoftStopViewModel> GetLegalEntityAgreementSoftStopViewModelAsync( VacancyRouteModel vrm, string selectedAccountLegalEntityPublicHashedId) { var vacancy = await _utility.GetAuthorisedVacancyForEditAsync(vrm, RouteNames.LegalEntityAgreement_SoftStop_Get); var accountLegalEntityPublicHashedId = !string.IsNullOrEmpty(selectedAccountLegalEntityPublicHashedId) ? selectedAccountLegalEntityPublicHashedId : vacancy.AccountLegalEntityPublicHashedId; var legalEntity = await _legalEntityAgreementService.GetLegalEntityAsync(vrm.EmployerAccountId, accountLegalEntityPublicHashedId); var hasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync( vacancy.EmployerAccountId, legalEntity); return(new LegalEntityAgreementSoftStopViewModel { HasLegalEntityAgreement = hasLegalEntityAgreement, LegalEntityName = legalEntity.Name, PageInfo = _utility.GetPartOnePageInfo(vacancy) }); }
private async Task <SubmitVacancyResponse> SubmitActionAsync(Vacancy vacancy, VacancyUser user) { var response = new SubmitVacancyResponse { HasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.LegalEntityId), IsSubmitted = false }; if (response.HasLegalEntityAgreement == false) { return(response); } await _client.SubmitVacancyAsync(vacancy.Id, vacancy.EmployerDescription, user); response.IsSubmitted = true; return(response); }
private async Task <SubmitVacancyResponse> SubmitActionAsync(Vacancy vacancy, VacancyUser user) { var response = new SubmitVacancyResponse { HasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId), IsSubmitted = false }; if (response.HasLegalEntityAgreement == false) { return(response); } var command = new SubmitVacancyCommand(vacancy.Id, user, OwnerType.Employer, vacancy.EmployerDescription); await _messaging.SendCommandAsync(command); response.IsSubmitted = true; return(response); }
public async Task <OrchestratorResponse <PostEmployerEditModelResponse> > PostEmployerEditModelAsync(EmployerEditModel m, VacancyUser user) { var vacancyTask = Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, m, RouteNames.Employer_Post); var employerVacancyInfoTask = _client.GetEditVacancyInfoAsync(m.EmployerAccountId); await Task.WhenAll(vacancyTask, employerVacancyInfoTask); var vacancy = vacancyTask.Result; var employerVacancyInfo = employerVacancyInfoTask.Result; var selectedOrganisation = employerVacancyInfo.LegalEntities.SingleOrDefault(x => x.LegalEntityId == m.SelectedOrganisationId); vacancy.LegalEntityId = m.SelectedOrganisationId; vacancy.EmployerName = selectedOrganisation?.Name; vacancy.EmployerLocation = new Vacancies.Client.Domain.Entities.Address { AddressLine1 = m.AddressLine1, AddressLine2 = m.AddressLine2, AddressLine3 = m.AddressLine3, AddressLine4 = m.AddressLine4, Postcode = m.Postcode.AsPostcode(), Latitude = null, Longitude = null }; return(await ValidateAndExecute( vacancy, v => _vacancyClient.Validate(v, ValidationRules), async v => { await _vacancyClient.UpdateDraftVacancyAsync(vacancy, user); return new PostEmployerEditModelResponse { HasLegalEntityAgreement = await _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.LegalEntityId) }; })); }
private async Task <SubmitVacancyResponse> SubmitActionAsync(Vacancy vacancy, VacancyUser user) { var hasLegalEntityAgreementTask = _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.LegalEntityId); var hasProviderAgreementTask = _trainingProviderAgreementService.HasAgreementAsync(vacancy.TrainingProvider.Ukprn.Value); await Task.WhenAll(hasLegalEntityAgreementTask, hasProviderAgreementTask); var response = new SubmitVacancyResponse { HasLegalEntityAgreement = hasLegalEntityAgreementTask.Result, HasProviderAgreement = hasProviderAgreementTask.Result, IsSubmitted = false }; if (response.HasLegalEntityAgreement && response.HasProviderAgreement) { await _client.SubmitVacancyAsync(vacancy.Id, user); response.IsSubmitted = true; } return(response); }
private async Task <SubmitVacancyResponse> SubmitActionAsync(Vacancy vacancy, VacancyUser user) { var hasLegalEntityAgreementTask = _legalEntityAgreementService.HasLegalEntityAgreementAsync(vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId); var hasProviderAgreementTask = _trainingProviderAgreementService.HasAgreementAsync(vacancy.TrainingProvider.Ukprn.Value); await Task.WhenAll(hasLegalEntityAgreementTask, hasProviderAgreementTask); var hasProviderReviewPermission = await _providerRelationshipsService.HasProviderGotEmployersPermissionAsync(vacancy.TrainingProvider.Ukprn.Value, vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId, OperationType.RecruitmentRequiresReview); var response = new SubmitVacancyResponse { HasLegalEntityAgreement = hasLegalEntityAgreementTask.Result, HasProviderAgreement = hasProviderAgreementTask.Result, IsSubmitted = false }; if (response.HasLegalEntityAgreement && response.HasProviderAgreement) { if (hasProviderReviewPermission) { var command = new ReviewVacancyCommand(vacancy.Id, user, OwnerType.Provider); await _messaging.SendCommandAsync(command); response.IsSentForReview = true; } else { var command = new SubmitVacancyCommand(vacancy.Id, user, OwnerType.Provider); await _messaging.SendCommandAsync(command); response.IsSubmitted = true; } } return(response); }