Esempio n. 1
0
        private CommunicationRequest GetVacancyWithdrawnByQaCommunicationRequest(long vacancyReference)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.VacancyWithdrawnByQa,
                CommunicationConstants.ParticipantResolverNames.VacancyParticipantsResolverName,
                CommunicationConstants.ServiceName);

            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Vacancy, vacancyReference);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceUrl, vacancyReference);
            return(communicationRequest);
        }
Esempio n. 2
0
        private Task RequestProviderCommunicationAsync(long ukprn)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.ProviderBlockedProviderNotification,
                CommunicationConstants.ParticipantResolverNames.ProviderParticipantsResolverName,
                CommunicationConstants.ServiceName);

            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Provider, ukprn);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceConfig, null);

            return(_communicationQueueService.AddMessageAsync(communicationRequest));
        }
        private CommunicationRequest GetRejectedVacancyCommunicationRequest(long vacancyReference, long?providerUkprn)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.VacancyRejectedByEmployer,
                CommunicationConstants.ParticipantResolverNames.VacancyParticipantsResolverName,
                CommunicationConstants.ServiceName);

            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Vacancy, vacancyReference);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceUrl, vacancyReference);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Provider, providerUkprn);
            return(communicationRequest);
        }
Esempio n. 4
0
        public static CommunicationRequest GetProviderBlockedEmployerNotificationForLiveVacanciesRequest(long ukprn, string employerAccountId)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.ProviderBlockedEmployerNotificationForLiveVacancies,
                CommunicationConstants.ParticipantResolverNames.EmployerParticipantsResolverName,
                CommunicationConstants.ServiceName);

            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Provider, ukprn);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Employer, employerAccountId);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceConfig, null);
            return(communicationRequest);
        }
        private CommunicationRequest GetReviewedVacancyCommunicationRequest(long vacancyReference, long ukprn, string employerAccountId)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.VacancySubmittedForReview,
                CommunicationConstants.ParticipantResolverNames.EmployerParticipantsResolverName,
                CommunicationConstants.ServiceName);

            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Vacancy, vacancyReference);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceUrl, vacancyReference);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Provider, ukprn);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Employer, employerAccountId);
            return(communicationRequest);
        }
Esempio n. 6
0
        public static CommunicationRequest GetProviderBlockedEmployerNotificationForTransferredVacanciesRequest(long ukprn, string employerAccountId, int noOfVacancies)
        {
            var communicationRequest = new CommunicationRequest(
                CommunicationConstants.RequestType.ProviderBlockedEmployerNotificationForTransferredVacancies,
                CommunicationConstants.ParticipantResolverNames.EmployerParticipantsResolverName,
                CommunicationConstants.ServiceName);
            var text = "vacancy".ToQuantity(noOfVacancies) + (noOfVacancies == 1 ? " has been transferred" : " have been transferred");

            communicationRequest.DataItems.Add(new CommunicationDataItem(CommunicationConstants.DataItemKeys.Employer.VacanciesTransferredCountText, text));
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Provider, ukprn);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.Employer, employerAccountId);
            communicationRequest.AddEntity(CommunicationConstants.EntityTypes.ApprenticeshipServiceConfig, null);

            return(communicationRequest);
        }
Esempio n. 7
0
        public async Task WhenVacancyOwnedByProvider_GetProviderUsers()
        {
            var vacancy = _fixture
                          .Build <Vacancy>()
                          .With(v => v.OwnerType, OwnerType.Provider)
                          .With(v => v.SubmittedByUser, _fixture.Create <VacancyUser>())
                          .Create();

            _mockVacancyRepository.Setup(v => v.GetVacancyAsync(It.IsAny <long>())).ReturnsAsync(vacancy);

            var sut = GetSut();

            var request = new CommunicationRequest(_fixture.Create <string>(), _fixture.Create <string>(), _fixture.Create <string>());

            request.AddEntity(CommunicationConstants.EntityTypes.Vacancy, _fixture.Create <long>());

            var participants = await sut.GetParticipantsAsync(request);

            participants.Count().Should().Be(2);
            participants.All(p => p.Name == OwnerType.Provider.ToString());
        }
Esempio n. 8
0
        public async Task ShouldReturnVacancyOwnerAsPrimaryUser()
        {
            var user    = _fixture.Build <VacancyUser>().With(v => v.UserId, PrimaryUserId).Create();
            var vacancy = _fixture
                          .Build <Vacancy>()
                          .With(v => v.OwnerType, OwnerType.Provider)
                          .With(v => v.SubmittedByUser, user)
                          .Create();

            _mockVacancyRepository.Setup(v => v.GetVacancyAsync(It.IsAny <long>())).ReturnsAsync(vacancy);

            var sut = GetSut();

            var request = new CommunicationRequest(_fixture.Create <string>(), _fixture.Create <string>(), _fixture.Create <string>());

            request.AddEntity(CommunicationConstants.EntityTypes.Vacancy, _fixture.Create <long>());

            var participants = await sut.GetParticipantsAsync(request);

            participants.Count().Should().Be(2);
            participants.Single(p => p.UserId == PrimaryUserId).Participation.Should().Be(UserParticipation.PrimaryUser);
            participants.Single(p => p.UserId != PrimaryUserId).Participation.Should().Be(UserParticipation.SecondaryUser);
        }