public async Task <ValidationResult> Handle(UpdatePersonCommand message, CancellationToken cancellationToken) { if (!message.IsValid()) { return(message.ValidationResult); } var person = new PersonModel(Guid.NewGuid(), message.Name, message.Phone, message.Email, message.Created, message.Updated); if (await _personRepository.GetByEmail(person.Email) != null) { AddError("Pessoa já foi cadastrada."); return(ValidationResult); } person.AddDomainEvent(new PersonRegisteredEvent(person.Name, person.Phone, person.Email, person.Created)); _personRepository.Update(person); return(await Commit(_personRepository.UnitOfWork)); }