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