Пройдите стандартный процесс регистрации:
пользователь регистрируется
пользователю отправлено письмо со ссылкой для активации аккаунта
пользователь активирует учетную запись
проблема, о которой я говорю, это:
при создании первоначальной учетной записи мы храним имя пользователя, пароль, адрес электронной почты, ключ активации
когда пользователь щелкает ссылку ключа активации, мы проверяем ключ с помощью readmodel
затем мы запускаем ActivateAccountCommand, передавая имя пользователя
как загрузить учетную запись пользователя, чтобы активировать ее в домене?
изначально я хотел передать новым пользователям Acount.Id в readmodel, но нет доступа (который мне известен) из CommandExecutorBase - мы не сохраняем это:
protected override void ExecuteInContext(IUnitOfWorkContext context,
CreateAccountViaFormRegistrationCommand command)
{
var newKey = Guid.NewGuid().ToString();
var newAccount = new Account(
command.UserName, command.Email, command.Password, newKey);
SendWelcomeEmail(command.Email, command.UserName, newKey);
context.Accept();
}