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()); }