Exemplo n.º 1
0
        public void ConfirmProfile(int userId)
        {
            Require.Positive(userId, nameof(userId));

            var userAccount = _userRepository.GetAccount(userId);

            if (userAccount == null)
            {
                throw new AccountNotFoundException();
            }

            if (userAccount.ConfirmationStatus == ConfirmationStatus.FullyConfirmed)
            {
                throw new InvalidOperationException("User is already confirmed");
            }

            userAccount.ConfirmationStatus = ConfirmationStatus.FullyConfirmed;

            userAccount.Password = userAccount.Password.GetHashed();
            _userRepository.UpdateAccount(userAccount);

            var @event = new NewFullConfirmedDeveloper(userAccount.UserId);

            _eventBus.PublishEvent("Notification", "new_full_confirmed_developer", @event);
        }
Exemplo n.º 2
0
        private string Describe(NewFullConfirmedDeveloper @event)
        {
            Require.NotNull(@event, nameof(@event));

            var developer         = _userRepository.GetAccount(@event.NewDeveloperId);
            var developerFullName = developer.Firstname + " " + developer.Lastname;

            return(string.Format(EventDescriptionResources.NewFullConfirmedDeveloper, developerFullName));
        }
Exemplo n.º 3
0
 public void NotifyAboutNewFullConfirmedDeveloper(NewFullConfirmedDeveloper @event)
 {
     NotifyAboutNewEvent(@event);
 }