Beispiel #1
0
        public Vacancy UpsertVacancy(Vacancy vacancy, Func <Vacancy, Vacancy> operation)
        {
            Condition.Requires(vacancy);

            _authoriseCurrentUserStrategy.AuthoriseCurrentUser(vacancy);

            if (_currentUserService.IsInRole(Roles.Faa))
            {
                var username     = _currentUserService.CurrentUserName;
                var lastEditedBy = _providerUserReadRepository.GetByUsername(username);
                if (lastEditedBy != null)
                {
                    vacancy.LastEditedById = lastEditedBy.ProviderUserId;
                }
            }

            vacancy = operation(vacancy);

            _publishVacancySummaryUpdateStrategy.PublishVacancySummaryUpdate(vacancy);

            return(_vacancyReadRepository.Get(vacancy.VacancyId));
        }
Beispiel #2
0
        public void SendEmailVerificationCode(string username)
        {
            var providerUser = _providerUserReadRepository.GetByUsername(username);

            if (providerUser == null)
            {
                throw new CustomException("Unknown username", ErrorCodes.UnknownUserError);
            }

            // ReSharper disable once RedundantArgumentDefaultValue
            providerUser.EmailVerificationCode = _codeGenerator.GenerateAlphaNumeric(EmailVerificationCodeLength);

            _providerUserWriteRepository.Update(providerUser);

            _communicationService.SendMessageToProviderUser(username, MessageTypes.SendProviderUserEmailVerificationCode,
                                                            new[]
            {
                new CommunicationToken(CommunicationTokens.ProviderUserUsername, providerUser.Username),
                new CommunicationToken(CommunicationTokens.ProviderUserEmailVerificationCode, providerUser.EmailVerificationCode)
            });
        }
        public void ResendEmailVerificationCode(string username)
        {
            var providerUser = _providerUserReadRepository.GetByUsername(username);

            if (providerUser == null)
            {
                throw new CustomException("Unknown username", ErrorCodes.UnknownUserError);
            }

            if (providerUser.Status == ProviderUserStatus.EmailVerified)
            {
                _logService.Info("Will not resend provider user email verification code, verification code is blank.");
                return;
            }

            _communicationService.SendMessageToProviderUser(username, MessageTypes.SendProviderUserEmailVerificationCode,
                                                            new[]
            {
                new CommunicationToken(CommunicationTokens.ProviderUserUsername, providerUser.Username),
                new CommunicationToken(CommunicationTokens.ProviderUserEmailVerificationCode, providerUser.EmailVerificationCode)
            });
        }
        public void Send(string username, MessageTypes messageType, IEnumerable <CommunicationToken> tokens)
        {
            var providerUser = _providerUserReadRepository.GetByUsername(username);

            if (providerUser != null)
            {
                tokens = tokens.Union(new[]
                {
                    new CommunicationToken(CommunicationTokens.ProviderUserFullName, providerUser.Fullname),
                    new CommunicationToken(CommunicationTokens.RecipientEmailAddress, providerUser.Email),
                });
            }

            var request = new CommunicationRequest
            {
                //TODO: Might be an issue nulling this
                EntityId    = null,
                MessageType = messageType,
                Tokens      = tokens
            };

            _serviceBus.PublishMessage(request);
        }
 public ProviderUser GetProviderUser(string username)
 {
     return(_providerUserReadRepository.GetByUsername(username));
 }