I have a layered project using DDD and I'm having problems while doing UPDATE from a record of my PersonSituation class with EF Core.
public Task Handle(UpdatePessoaSituacaoCommand message, CancellationToken cancellationToken)
{
if (!message.IsValid())
{
NotifyValidationErrors(message);
return Task.CompletedTask;
}
var pessoaSituacao = new PessoaSituacao(message.Id, message.Descricao);
var existingPessoaSituacao = _pessoaSituacaoRepository.GetById(pessoaSituacao.Id);
if (existingPessoaSituacao != null && existingPessoaSituacao.Id != pessoaSituacao.Id)
{
if (!existingPessoaSituacao.Equals(pessoaSituacao))
{
Bus.RaiseEvent(new DomainNotification(message.MessageType, "Já existe uma Situação cadastrada com o ID informado."));
return Task.CompletedTask;
}
}
_pessoaSituacaoRepository.Update(pessoaSituacao);
if (Commit())
{
Bus.RaiseEvent(new PessoaSituacaoUpdatedEvent(pessoaSituacao.Id, pessoaSituacao.Descricao));
}
return Task.CompletedTask;
}