Você está na página 1de 1

var novosCasamentos = new List<PessoaCasamento>();

var todosCasamentos = _pessoaCasamentoService.Buscar(x => !


x.DataExclusao.HasValue).ToList();
var casamentosIncompletos = todosCasamentos.Where(c => !
todosCasamentos.Select(t => t.PessoaId).Contains(c.PessoaConjugeId)).ToList();
foreach (var pessoaCasamento in casamentosIncompletos)
{
var vinculodId = Guid.NewGuid();
novosCasamentos.Add(new
PessoaCasamento(pessoaCasamento.PessoaConjugeId,
pessoaCasamento.PessoaId,
pessoaCasamento.FlagCivil,
pessoaCasamento.DataCivil ?? default,
pessoaCasamento.FlagReligioso,
pessoaCasamento.DataReligioso ?? default,
pessoaCasamento.DataDissolucao ?? default,
pessoaCasamento.CidadeCivilId,
pessoaCasamento.EstadoCivilId,
pessoaCasamento.CidadeReligiosoId,
pessoaCasamento.EstadoReligiosoId,
pessoaCasamento.SituacaoDissolucaoId,
pessoaCasamento.CaracteristicaMotivoDissolucaoId,
pessoaCasamento.CaracteristicaOpcaoMotivoDissolucaoId,
pessoaCasamento.RegimeCivilCaracteristicaId,
pessoaCasamento.RegimeCivilCaracteristicaOpcaoId,
vinculodId));

pessoaCasamento.AtualizarVinculo(vinculodId);
}

var insertsEmAuditoria = string.Join(Environment.NewLine,


novosCasamentos.Select(c => $"insert into \"Sistema\".\"Auditoria\"
(\"Id\", \"DataAuditoria\", \"TipoAuditoria\", \"IdentificadorObjeto\", \"Identific
adorUsuario\", \"Usuario\", \"NomeObjeto\", \"NomeTabela\") values
('{Guid.NewGuid()}', 'NOW()', 4, '{c.PessoaId}', '28b19935-0c3b-4094-bc3c-
25e4bc509d00', 'admin', 'IECLB.Domain.Entidades.Pessoa', 'Pessoa');"));

if (!novosCasamentos.IsNullOrEmpty())
{
_pessoaCasamentoService.AtualizarVarios(casamentosIncompletos);
_pessoaCasamentoService.AdicionarVarios(novosCasamentos);
_unitOfWork.Commit();
}

Você também pode gostar