private UserRegistration( string login, string password, string email, string firstName, string lastName, IUserUniqueness userUniqueness, string confirmLink) { this.CheckRule(new UserLoginAndEmailMustBeUniqueRule(userUniqueness, login, email)); this.Id = new UserRegistrationId(Guid.NewGuid()); Login = login; Password = password; Email = email; FirstName = firstName; LastName = lastName; Name = $"{firstName} {lastName}"; RegisterDate = DateTimeOffset.UtcNow; Status = UserRegistrationStatus.WaitingForConfirmation; this.AddDomainEvent(new NewUserRegisteredDomainEvent( this.Id, Login, Email, FirstName, LastName, Name, RegisterDate, confirmLink)); }
public static UserRegistration RegisterNewUser( string login, string password, string email, string firstName, string lastName, IUserUniqueness userUniqueness, string confirmLink) { return(new UserRegistration(login, password, email, firstName, lastName, userUniqueness, confirmLink)); }
internal UserLoginAndEmailMustBeUniqueRule(IUserUniqueness userUniqueness, string login, string email) { _userUniqueness = userUniqueness; _login = login; _email = email; }