private CustomerRegistration( CustomerRegistrationId id, string email, string password, string firstName, string lastName, ICustomerChecker customerChecker ) { CheckRule(new CustomerEmailMustBeUniqueRule(email, customerChecker)); Id = id; _email = email; _password = password; _firstName = firstName; _lastName = lastName; _status = CustomerRegistrationStatus.WaitingForConfirmation; _registrationDate = SystemClock.Now; AddDomainEvent(new NewCustomerRegisteredDomainEvent( Id, _email, _password, _firstName, _lastName, _registrationDate )); }
public static CustomerRegistration RegisterNewCustomer( CustomerRegistrationId id, string email, string password, string firstName, string lastName, ICustomerChecker customerChecker ) { return(new CustomerRegistration(id, email, password, firstName, lastName, customerChecker)); }