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); }
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)); }
public void NotifyAboutNewFullConfirmedDeveloper(NewFullConfirmedDeveloper @event) { NotifyAboutNewEvent(@event); }