public async Task Handle(SendMail command, IAggregateRepository repository) { var mail = new Mail(); mail.RequestMail(command); await repository.Create(mail.RaiseNewEvents()); await mail.SendMail(this.mailService); await repository.Update(mail.RaiseNewEvents()); }
public async Task Handle(RetryMail command, IAggregateRepository repository) { var mail = new Mail(); var load = await repository.Get(); mail.LoadFromHistory(load.List); mail.RetryMail(); await repository.Update(mail.RaiseNewEvents(), load.LastEventNumber); await mail.SendMail(this.mailService); await repository.Update(mail.RaiseNewEvents()); }