public void Handle(AtualizarAvaliacaoCommand cmd) { Avaliacao avaliacao = AvaliacaoExistente(cmd.ClienteId, cmd.EventoId, cmd.MessageType); if (avaliacao != null) { avaliacao.AtualizarAvaliacao(cmd.Nota, cmd.Descricao); if (!avaliacao.IsValid()) { NotificarValidacoesErro(avaliacao.ValidationResult); return; } _repository.AtualizarAvaliacao(avaliacao); if (Commit()) { _mediator.PublicarEvento(new AvaliacaoAtualizadaEvent(avaliacao.Nota, avaliacao.Descricao, avaliacao.EventoId, avaliacao.ClienteId)); } } }