Fix Distritos Para Senadores
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
import { useQuery } from '@tanstack/react-query';
|
import { useQuery } from '@tanstack/react-query';
|
||||||
import { getResumenPorProvincia } from '../../../apiService';
|
import { getResumenPorProvincia } from '../../../apiService';
|
||||||
import { ProvinciaCard } from './components/ProvinciaCard';
|
import { ProvinciaCard } from './components/ProvinciaCard';
|
||||||
// 1. La importación de CSS ahora se hace como un módulo
|
|
||||||
import styles from './ResultadosNacionalesCardsWidget.module.css';
|
import styles from './ResultadosNacionalesCardsWidget.module.css';
|
||||||
|
|
||||||
interface Props {
|
interface Props {
|
||||||
@@ -36,7 +35,6 @@ export const ResultadosNacionalesCardsWidget = ({
|
|||||||
if (error) return <div>Error al cargar los datos.</div>;
|
if (error) return <div>Error al cargar los datos.</div>;
|
||||||
if (!data || data.length === 0) return <div>No hay resultados para mostrar con los filtros seleccionados.</div>
|
if (!data || data.length === 0) return <div>No hay resultados para mostrar con los filtros seleccionados.</div>
|
||||||
|
|
||||||
// 2. Todas las props 'className' ahora usan el objeto 'styles'
|
|
||||||
return (
|
return (
|
||||||
<section className={styles.cardsWidgetContainer}>
|
<section className={styles.cardsWidgetContainer}>
|
||||||
<div className={styles.cardsGrid}>
|
<div className={styles.cardsGrid}>
|
||||||
|
|||||||
@@ -3,7 +3,6 @@ import type { ResumenProvincia, CategoriaResumen } from '../../../../types/types
|
|||||||
import { MiniMapaSvg } from './MiniMapaSvg';
|
import { MiniMapaSvg } from './MiniMapaSvg';
|
||||||
import { ImageWithFallback } from '../../../../components/common/ImageWithFallback';
|
import { ImageWithFallback } from '../../../../components/common/ImageWithFallback';
|
||||||
import { assetBaseUrl } from '../../../../apiService';
|
import { assetBaseUrl } from '../../../../apiService';
|
||||||
// 1. Importamos el archivo de estilos como un módulo CSS
|
|
||||||
import styles from '../ResultadosNacionalesCardsWidget.module.css';
|
import styles from '../ResultadosNacionalesCardsWidget.module.css';
|
||||||
|
|
||||||
interface CategoriaDisplayProps {
|
interface CategoriaDisplayProps {
|
||||||
@@ -19,7 +18,6 @@ interface ProvinciaCardProps {
|
|||||||
const formatNumber = (num: number) => num.toLocaleString('es-AR');
|
const formatNumber = (num: number) => num.toLocaleString('es-AR');
|
||||||
const formatPercent = (num: number) => `${num.toFixed(2).replace('.', ',')}%`;
|
const formatPercent = (num: number) => `${num.toFixed(2).replace('.', ',')}%`;
|
||||||
|
|
||||||
// 2. Todas las props 'className' en este sub-componente ahora usan el objeto 'styles'
|
|
||||||
const CategoriaDisplay = ({ categoria, mostrarBancas }: CategoriaDisplayProps) => {
|
const CategoriaDisplay = ({ categoria, mostrarBancas }: CategoriaDisplayProps) => {
|
||||||
return (
|
return (
|
||||||
<div className={styles.categoriaBloque}>
|
<div className={styles.categoriaBloque}>
|
||||||
@@ -87,8 +85,6 @@ const CategoriaDisplay = ({ categoria, mostrarBancas }: CategoriaDisplayProps) =
|
|||||||
|
|
||||||
export const ProvinciaCard = ({ data, mostrarBancas }: ProvinciaCardProps) => {
|
export const ProvinciaCard = ({ data, mostrarBancas }: ProvinciaCardProps) => {
|
||||||
const colorGanador = data.categorias[0]?.resultados[0]?.color || '#d1d1d1';
|
const colorGanador = data.categorias[0]?.resultados[0]?.color || '#d1d1d1';
|
||||||
|
|
||||||
// 3. Y también las clases del componente principal
|
|
||||||
return (
|
return (
|
||||||
<div className={styles.provinciaCard}>
|
<div className={styles.provinciaCard}>
|
||||||
<header className={styles.cardHeader}>
|
<header className={styles.cardHeader}>
|
||||||
|
|||||||
@@ -1505,7 +1505,7 @@ List<CandidatoOverride> overrides, string agrupacionId, int categoriaId, int? am
|
|||||||
const int catDiputadosNac = 3;
|
const int catDiputadosNac = 3;
|
||||||
const int catSenadoresNac = 2;
|
const int catSenadoresNac = 2;
|
||||||
|
|
||||||
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "08", "15", "16", "17", "22", "23" };
|
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "07", "08", "15", "16", "22", "23" };
|
||||||
var todasLasProyecciones = await _dbContext.ProyeccionesBancas.AsNoTracking().Where(p => p.EleccionId == eleccionId && (p.CategoriaId == catDiputadosNac || p.CategoriaId == catSenadoresNac)).ToDictionaryAsync(p => p.AmbitoGeograficoId + "_" + p.AgrupacionPoliticaId + "_" + p.CategoriaId);
|
var todasLasProyecciones = await _dbContext.ProyeccionesBancas.AsNoTracking().Where(p => p.EleccionId == eleccionId && (p.CategoriaId == catDiputadosNac || p.CategoriaId == catSenadoresNac)).ToDictionaryAsync(p => p.AmbitoGeograficoId + "_" + p.AgrupacionPoliticaId + "_" + p.CategoriaId);
|
||||||
var todosLosOverrides = await _dbContext.CandidatosOverrides.AsNoTracking().Where(c => c.EleccionId == eleccionId || c.EleccionId == 0).ToListAsync();
|
var todosLosOverrides = await _dbContext.CandidatosOverrides.AsNoTracking().Where(c => c.EleccionId == eleccionId || c.EleccionId == 0).ToListAsync();
|
||||||
var todosLosLogos = await _dbContext.LogosAgrupacionesCategorias.AsNoTracking().Where(l => l.EleccionId == eleccionId || l.EleccionId == 0).ToListAsync();
|
var todosLosLogos = await _dbContext.LogosAgrupacionesCategorias.AsNoTracking().Where(l => l.EleccionId == eleccionId || l.EleccionId == 0).ToListAsync();
|
||||||
|
|||||||
@@ -72,7 +72,7 @@ public class LowPriorityDataWorker : BackgroundService
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sondea la proyección de bancas a nivel Provincial.
|
/// Sondea la proyección de bancas a nivel Provincial.
|
||||||
/// Esta versión corregida itera sobre cada provincia y consulta las categorías específicas
|
/// Itera sobre cada provincia y consulta las categorías específicas
|
||||||
/// (Diputados para todas, Senadores solo para las que renuevan).
|
/// (Diputados para todas, Senadores solo para las que renuevan).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private async Task SondearProyeccionBancasAsync(string authToken, CancellationToken stoppingToken)
|
private async Task SondearProyeccionBancasAsync(string authToken, CancellationToken stoppingToken)
|
||||||
@@ -85,7 +85,7 @@ public class LowPriorityDataWorker : BackgroundService
|
|||||||
// 1. Definimos las constantes y la lista de provincias que renuevan senadores.
|
// 1. Definimos las constantes y la lista de provincias que renuevan senadores.
|
||||||
const int catDiputadosNac = 3;
|
const int catDiputadosNac = 3;
|
||||||
const int catSenadoresNac = 2;
|
const int catSenadoresNac = 2;
|
||||||
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "08", "15", "16", "17", "22", "24" };
|
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "07", "08", "15", "16", "22", "23" };
|
||||||
|
|
||||||
// 2. Obtenemos las provincias (ámbitos de Nivel 10) de nuestra base de datos.
|
// 2. Obtenemos las provincias (ámbitos de Nivel 10) de nuestra base de datos.
|
||||||
var ambitosProvinciales = await dbContext.AmbitosGeograficos
|
var ambitosProvinciales = await dbContext.AmbitosGeograficos
|
||||||
@@ -290,7 +290,7 @@ public class LowPriorityDataWorker : BackgroundService
|
|||||||
// Definimos las constantes para las categorías y las provincias que renuevan senadores.
|
// Definimos las constantes para las categorías y las provincias que renuevan senadores.
|
||||||
const int catDiputadosNac = 3;
|
const int catDiputadosNac = 3;
|
||||||
const int catSenadoresNac = 2;
|
const int catSenadoresNac = 2;
|
||||||
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "08", "15", "16", "17", "22", "24" };
|
var provinciasQueRenuevanSenadores = new HashSet<string> { "01", "06", "07", "08", "15", "16", "22", "23" };
|
||||||
|
|
||||||
var agrupacionesEnDb = await dbContext.AgrupacionesPoliticas.ToDictionaryAsync(a => a.Id, a => a, stoppingToken);
|
var agrupacionesEnDb = await dbContext.AgrupacionesPoliticas.ToDictionaryAsync(a => a.Id, a => a, stoppingToken);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user