Fix 1 Test 1534

This commit is contained in:
2025-10-16 15:34:12 -03:00
parent 705a6f0f5e
commit 09c4d61b71
13 changed files with 52 additions and 10 deletions

View File

@@ -167,6 +167,27 @@ public class LowPriorityDataWorker : BackgroundService
foreach (var votoPositivoDto in resultadosDto.ValoresTotalizadosPositivos)
{
// PASO 1: VERIFICAR SI LA AGRUPACIÓN YA EXISTE EN NUESTRA BD
var agrupacion = await dbContext.AgrupacionesPoliticas.FindAsync(votoPositivoDto.IdAgrupacion);
// PASO 2: SI NO EXISTE, LA CREAMOS "SOBRE LA MARCHA"
if (agrupacion == null)
{
_logger.LogWarning("Agrupación con ID {AgrupacionId} ('{Nombre}') no encontrada en el catálogo local. Creándola desde los datos de resultados.",
votoPositivoDto.IdAgrupacion, votoPositivoDto.NombreAgrupacion);
agrupacion = new AgrupacionPolitica
{
Id = votoPositivoDto.IdAgrupacion,
Nombre = votoPositivoDto.NombreAgrupacion,
// El IdTelegrama puede ser nulo, usamos el operador '??' para asignar un string vacío si es así.
IdTelegrama = votoPositivoDto.IdAgrupacionTelegrama ?? string.Empty
};
await dbContext.AgrupacionesPoliticas.AddAsync(agrupacion, stoppingToken);
// No es necesario llamar a SaveChangesAsync aquí, se hará al final.
}
// PASO 3: CONTINUAR CON LA LÓGICA DE GUARDADO DEL VOTO
var resultadoVoto = await dbContext.ResultadosVotos.FirstOrDefaultAsync(
rv => rv.AmbitoGeograficoId == ambitoId &&
rv.CategoriaId == categoriaId &&