Esempio n. 1
0
        public User(Guid id, UserRegistrationForm form)
        {
            if (form == null)
            {
                throw new ArgumentNullException(nameof(form));
            }

            Apply(new UserCreated(id, form));
        }
        public UserRegistrationProcess(UserRegistrationForm registrationForm)
        {
            if (registrationForm == null)
            {
                throw new ArgumentNullException(nameof(registrationForm));
            }

            var userId = Guid.NewGuid();

            Apply(new UserRegistrationStarted(userId, registrationForm));
        }
 private void Mutate(IEvent @event)
 {
     if (@event is UserRegistrationStarted)
     {
         var created = @event as UserRegistrationStarted;
         UserId            = created.UserId;
         _registrationForm = created.Form;
         State             = UserRegistrationProcessState.Created;
     }
     else if (@event is EmailAccepted)
     {
         State = UserRegistrationProcessState.CreatingUser;
     }
     else if (@event is UserRegistrationSucceeded)
     {
         State = UserRegistrationProcessState.Succeeded;
     }
     else if (@event is UserRegistrationFailed)
     {
         State = UserRegistrationProcessState.Failed;
     }
 }