public void Expire() { CheckRule(new UserRegistrationCannotBeExpiredMoreThanOnceRule(_status)); _status = UserRegistrationStatus.Expired; AddDomainEvent(new UserRegistrationExpiredDomainEvent(Id)); }
public void Confirm() { CheckRule(new UserRegistrationCannotBeConfirmedMoreThanOnceRule(_status)); CheckRule(new UserRegistrationCannotBeConfirmedAfterExpirationRule(_status)); _status = UserRegistrationStatus.Confirmed; _confirmedDate = DateTime.UtcNow; AddDomainEvent(new UserRegistrationConfirmedDomainEvent(Id)); }
private UserRegistration( string login, string password, string email, string firstName, string lastName, IUsersCounter usersCounter) { CheckRule(new UserEmailMustBeUniqueRule(usersCounter, login)); Id = new UserRegistrationId(Guid.NewGuid()); _login = login; _password = password; _email = email; _firstName = firstName; _lastName = lastName; _name = $"{firstName} {lastName}"; _registerDate = DateTime.UtcNow; _status = UserRegistrationStatus.WaitingForConfirmation; AddDomainEvent(new NewUserRegisteredDomainEvent(Id, _login, _email, _firstName, _lastName, _name, _registerDate)); }