private UserRegistration( string login, string password, string email, string firstName, string lastName, IUsersCounter usersCounter, string confirmLink) { this.CheckRule(new UserLoginMustBeUniqueRule(usersCounter, login)); this.Id = new UserRegistrationId(Guid.NewGuid()); _login = login; _password = password; _email = email; _firstName = firstName; _lastName = lastName; _name = $"{firstName} {lastName}"; _registerDate = DateTime.UtcNow; _status = UserRegistrationStatus.WaitingForConfirmation; this.AddDomainEvent(new NewUserRegisteredDomainEvent( this.Id, _login, _email, _firstName, _lastName, _name, _registerDate, confirmLink)); }
internal User( string login, string password, string email, string firstName, string lastName, IUsersCounter usersCounter // TODO: Domain entities should not have any dependencies on them ) { CheckRule(new UserLoginMustBeUniqueRule(usersCounter, login)); Id = new UserId(Guid.NewGuid()); Login = login; Password = password; Email = email; FirstName = firstName; LastName = lastName; Name = $"{firstName} {lastName}"; RegisterDate = DateTime.UtcNow; Status = UserRegistrationStatus.WaitingForConfirmation; _roles = new List <UserRole> { new UserRole(Role.Client) }; IsActive = true; AddDomainEvent(new NewUserRegisteredDomainEvent(Id, Login, Password, Email, Name, FirstName, LastName, RegisterDate)); }
public RegisterNewUserCommandHandler( IUserRegistrationRepository userRegistrationRepository, IUsersCounter usersCounter) { _userRegistrationRepository = userRegistrationRepository; _usersCounter = usersCounter; }
public static UserRegistration RegisterNewUser( string login, string password, string email, string firstName, string lastName, IUsersCounter usersCounter) { return(new UserRegistration(login, password, email, firstName, lastName, usersCounter)); }
internal UserLoginMustBeUniqueRule(IUsersCounter usersCounter, string login) { _usersCounter = usersCounter; _login = login; }
public RegisterNewUserCommandHandler(IUserRepository userRepository, IUsersCounter usersCounter, IPasswordManager passwordManager) { _userRepository = userRepository; _usersCounter = usersCounter; _passwordManager = passwordManager; }