Fix API_BASE_URL

This commit is contained in:
2025-09-04 17:19:54 -03:00
parent 2db20969a1
commit 0ce5e2e2c9
11 changed files with 50 additions and 32 deletions

View File

@@ -560,19 +560,31 @@ public class ResultadosController : ControllerBase
return Ok(new List<object>());
}
// --- INICIO DE LA CORRECCIÓN ---
// 1. Obtenemos TODOS los logos para la categoría, sin convertirlos a diccionario todavía.
var todosLosLogos = await _dbContext.LogosAgrupacionesCategorias
.AsNoTracking()
.Where(l => l.CategoriaId == categoriaId)
.ToListAsync();
// 2. Procesamos los logos en memoria para manejar duplicados, priorizando los que tienen ámbito.
// El resultado es un diccionario limpio sin claves duplicadas.
var logos = todosLosLogos
.GroupBy(l => l.AgrupacionPoliticaId) // Agrupamos por la clave que causa el problema
.ToDictionary(
g => g.Key, // La clave del diccionario es AgrupacionPoliticaId
g => g.OrderByDescending(l => l.AmbitoGeograficoId).First() // Para cada grupo, tomamos el logo más específico (el que tiene un AmbitoId) o el general si es el único.
);
// --- FIN DE LA CORRECCIÓN ---
var resultadosMunicipales = await _dbContext.ResultadosVotos
.AsNoTracking()
.Include(r => r.AgrupacionPolitica)
// Usamos la categoriaId del parámetro
.Where(r => r.CategoriaId == categoriaId && municipiosDeLaSeccion.Contains(r.AmbitoGeograficoId))
.ToListAsync();
var logos = await _dbContext.LogosAgrupacionesCategorias
.AsNoTracking()
// Usamos la categoriaId del parámetro
.Where(l => l.CategoriaId == categoriaId)
.ToDictionaryAsync(l => l.AgrupacionPoliticaId);
var totalVotosSeccion = (decimal)resultadosMunicipales.Sum(r => r.CantidadVotos);
var resultadosFinales = resultadosMunicipales
@@ -595,7 +607,6 @@ public class ResultadosController : ControllerBase
})
.ToList();
// Devolvemos un objeto para poder añadir la fecha de actualización
var seccionAmbito = await _dbContext.AmbitosGeograficos.AsNoTracking()
.FirstOrDefaultAsync(a => a.SeccionProvincialId == seccionId && a.NivelId == 20);
var estadoRecuento = seccionAmbito != null