diff --git a/Elecciones-Web/frontend/src/apiService.ts b/Elecciones-Web/frontend/src/apiService.ts index fe9251d..3189c86 100644 --- a/Elecciones-Web/frontend/src/apiService.ts +++ b/Elecciones-Web/frontend/src/apiService.ts @@ -353,4 +353,9 @@ export const getTablaSecciones = async (eleccionId: number): Promise => { const response = await apiClient.get(`/elecciones/${eleccionId}/resumen-nacional-por-provincia?categoriaId=${categoriaId}`); return response.data; +}; + +export const getProvincias = async (): Promise => { + const response = await apiClient.get('/catalogos/provincias'); + return response.data; }; \ No newline at end of file diff --git a/Elecciones-Web/frontend/src/features/legislativas/DevAppLegislativas.tsx b/Elecciones-Web/frontend/src/features/legislativas/DevAppLegislativas.tsx index 76b56ac..0b18ff7 100644 --- a/Elecciones-Web/frontend/src/features/legislativas/DevAppLegislativas.tsx +++ b/Elecciones-Web/frontend/src/features/legislativas/DevAppLegislativas.tsx @@ -9,6 +9,7 @@ import { HomeCarouselNacionalWidget } from './nacionales/HomeCarouselNacionalWid import { TablaConurbanoWidget } from './nacionales/TablaConurbanoWidget'; import { TablaSeccionesWidget } from './nacionales/TablaSeccionesWidget'; import { ResumenNacionalWidget } from './nacionales/ResumenNacionalWidget'; +import { HomeCarouselProvincialWidget } from './nacionales/HomeCarouselProvincialWidget'; // --- NUEVO COMPONENTE REUTILIZABLE PARA CONTENIDO COLAPSABLE --- const CollapsibleWidgetWrapper = ({ children }: { children: React.ReactNode }) => { @@ -90,7 +91,34 @@ export const DevAppLegislativas = () => { + titulo="Senadores - Total País" mapLinkUrl={''} /> + + +
+

Widget: Carrusel Provincial con Selector (Home)

+

+ Categoría Diputados +

+

+ Uso: <HomeCarouselProvincialWidget eleccionId={2} categoriaId={3} titulo="Diputados" /> +

+ + +

+ Categoría Senadores +

+

+ Uso: <HomeCarouselProvincialWidget eleccionId={2} categoriaId={2} titulo="Senadores" /> +

+
{/* --- SECCIÓN PARA EL WIDGET DE TARJETAS CON EJEMPLOS --- */} diff --git a/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselNacionalWidget.tsx b/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselNacionalWidget.tsx index 5869a26..a2b0704 100644 --- a/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselNacionalWidget.tsx +++ b/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselNacionalWidget.tsx @@ -57,7 +57,7 @@ export const HomeCarouselNacionalWidget = ({ eleccionId, categoriaId, titulo, ma return (
-
+

{titulo}

diff --git a/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselProvincialWidget.tsx b/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselProvincialWidget.tsx new file mode 100644 index 0000000..f2aaf4e --- /dev/null +++ b/Elecciones-Web/frontend/src/features/legislativas/nacionales/HomeCarouselProvincialWidget.tsx @@ -0,0 +1,201 @@ +// src/features/legislativas/nacionales/HomeCarouselProvincialWidget.tsx + +import { useState, useMemo, useEffect } from 'react'; +import { useQuery } from '@tanstack/react-query'; +import Select, { type SingleValue } from 'react-select'; +import { getHomeResumen, getProvincias } from '../../../apiService'; +import type { CatalogoItem } from '../../../types/types'; +import { ImageWithFallback } from '../../../components/common/ImageWithFallback'; +import { assetBaseUrl } from '../../../apiService'; +import { Swiper, SwiperSlide } from 'swiper/react'; +import { Navigation, A11y } from 'swiper/modules'; + +// @ts-ignore +import 'swiper/css'; +// @ts-ignore +import 'swiper/css/navigation'; +import styles from './HomeCarouselWidget.module.css'; + +interface Props { + eleccionId: number; + categoriaId: number; + titulo: string; +} + +interface OptionType { + value: string; + label: string; +} + +// --- LÓGICA DE FILTRADO --- +// 1. Definimos los IDs de distrito de las provincias que renuevan senadores. +const PROVINCIAS_QUE_RENUEVAN_SENADORES = new Set(['01', '06', '08', '15', '16', '17', '22', '24']); +const CATEGORIA_SENADORES = 2; +// --- FIN LÓGICA DE FILTRADO --- + +const formatPercent = (num: number | null | undefined) => `${(num || 0).toFixed(2).replace('.', ',')}%`; +const formatNumber = (num: number) => num.toLocaleString('es-AR'); +const formatDateTime = (dateString: string | undefined | null) => { + if (!dateString) return '...'; + try { + const date = new Date(dateString); + const day = String(date.getDate()).padStart(2, '0'); + const month = String(date.getMonth() + 1).padStart(2, '0'); + const year = date.getFullYear(); + const hours = String(date.getHours()).padStart(2, '0'); + const minutes = String(date.getMinutes()).padStart(2, '0'); + return `${day}/${month}/${year}, ${hours}:${minutes} hs.`; + } catch (e) { + return dateString; + } +}; + +export const HomeCarouselProvincialWidget = ({ eleccionId, categoriaId, titulo }: Props) => { + // 2. Estado inicial nulo para que el useEffect lo establezca dinámicamente. + const [selectedProvince, setSelectedProvince] = useState(null); + + const { data: provincias = [], isLoading: isLoadingProvincias } = useQuery({ + queryKey: ['provincias'], + queryFn: getProvincias, + }); + + // 3. Usamos useMemo para filtrar las opciones solo cuando sea necesario. + const provinceOptions: OptionType[] = useMemo(() => { + const allOptions = provincias.map(p => ({ value: p.id, label: p.nombre })); + if (categoriaId === CATEGORIA_SENADORES) { + return allOptions.filter(opt => PROVINCIAS_QUE_RENUEVAN_SENADORES.has(opt.value)); + } + return allOptions; + }, [provincias, categoriaId]); + + // 4. useEffect para establecer y validar la provincia por defecto. + useEffect(() => { + if (provinceOptions.length > 0) { + // Si no hay nada seleccionado, establece el default. + if (!selectedProvince) { + const defaultOption = provinceOptions.find(opt => opt.value === '01'); // CABA + setSelectedProvince(defaultOption || provinceOptions[0]); // Si CABA no está, usa la primera opción. + } else { + // Si ya hay algo seleccionado, verifica que siga siendo válido. Si no, lo resetea. + const isSelectedStillValid = provinceOptions.some(opt => opt.value === selectedProvince.value); + if (!isSelectedStillValid) { + setSelectedProvince(provinceOptions[0]); + } + } + } + }, [provinceOptions, selectedProvince]); + + const { data, isLoading, error } = useQuery({ + queryKey: ['homeResumen', eleccionId, selectedProvince?.value, categoriaId], + queryFn: () => getHomeResumen(eleccionId, selectedProvince!.value, categoriaId), + enabled: !!selectedProvince, // La consulta solo se ejecuta si hay una provincia seleccionada + refetchInterval: 30000, + }); + + const uniqueId = `swiper-${Math.random().toString(36).substring(2, 9)}`; + const prevButtonClass = `prev-${uniqueId}`; + const nextButtonClass = `next-${uniqueId}`; + + return ( +
+
+

{`${titulo} - ${selectedProvince?.label || '...'}`}

+
+ {
{isLoading &&

Cargando resumen nacional...

} {error &&

Error al cargar los datos.

} - {data && ( -
    - {data.map((provincia) => ( -
  • -
    - {provincia.provinciaNombre} - ESCR. {formatPercent(provincia.porcentajeEscrutado)} -
    -
      - {provincia.resultados.map((partido, index) => ( -
    • - {partido.nombre} - {formatPercent(partido.porcentaje)} -
    • - ))} -
    -
  • + {sortedData && ( + + + + + + + + {sortedData.map((provincia) => ( + + + {/* 3. Añadir el número antes del nombre */} + + + + {provincia.resultados.map((partido, index) => ( + + + + + ))} + ))} - +
    ConceptoValor
    {`${PROVINCE_ORDER_MAP[provincia.provinciaId]}- ${provincia.provinciaNombre}`}ESCR. {formatPercent(provincia.porcentajeEscrutado)}
    {partido.nombre}{formatPercent(partido.porcentaje)}
    )}
); diff --git a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaConurbanoWidget.tsx b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaConurbanoWidget.tsx index 7887fb5..10fa596 100644 --- a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaConurbanoWidget.tsx +++ b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaConurbanoWidget.tsx @@ -4,13 +4,10 @@ import { getTablaConurbano } from '../../../apiService'; import styles from './TablaResultadosWidget.module.css'; export const TablaConurbanoWidget = () => { - // CORRECCIÓN: Se elimina el estado y el selector de categoría. - const ELECCION_ID = 2; // Exclusivo para elecciones nacionales + const ELECCION_ID = 2; const { data, isLoading, error } = useQuery({ - // La queryKey ya no necesita la categoría queryKey: ['tablaConurbano', ELECCION_ID], - // La llamada a la API ya no necesita la categoría queryFn: () => getTablaConurbano(ELECCION_ID), refetchInterval: 60000, }); @@ -20,7 +17,7 @@ export const TablaConurbanoWidget = () => { return (
-

Resultados Conurbano - Diputados Nacionales

+

Diputados Nacionales

{isLoading &&

Cargando resultados...

} {error &&

Error al cargar los datos.

} @@ -38,7 +35,9 @@ export const TablaConurbanoWidget = () => { {data.map((fila, index) => ( - {index + 1}.{fila.nombre} + + {index + 1}.{fila.nombre} + {fila.fuerza1Display} {formatPercent(fila.fuerza1Porcentaje)} {fila.fuerza2Display} diff --git a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaResultadosWidget.module.css b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaResultadosWidget.module.css index 2b2d0c1..3a440be 100644 --- a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaResultadosWidget.module.css +++ b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaResultadosWidget.module.css @@ -73,4 +73,104 @@ font-weight: 400; color: #6c757d; padding-right: 0.5rem; +} + +/* --- INICIO DE ESTILOS PARA MÓVILES --- */ +@media (max-width: 768px) { + .widgetContainer { + padding: 0.5rem; + } + + .resultsTable thead { + display: none; + } + + .resultsTable, + .resultsTable tbody { + display: block; + width: 100%; + } + + /* 1. Cada TR es una grilla */ + .resultsTable tr { + display: grid; + grid-template-columns: 1fr auto; + /* Columna para nombres, columna para % */ + grid-template-rows: auto auto auto; + /* Fila para distrito, 1ra fuerza, 2da fuerza */ + gap: 4px 1rem; + margin-bottom: 1rem; + padding-bottom: 1rem; + border-bottom: 2px solid #e0e0e0; + } + + .resultsTable tr:last-child { + border-bottom: none; + margin-bottom: 0; + } + + .resultsTable td { + padding: 0; + border-bottom: none; + text-align: left; + } + + /* 2. Posicionamos cada celda en la grilla */ + .distritoCell { + grid-column: 1 / -1; + /* Ocupa toda la primera fila */ + font-size: 1.1rem; + font-weight: 700; + } + + .fuerzaCell:nth-of-type(2) { + grid-row: 2; + grid-column: 1; + } + + .porcentajeCell:nth-of-type(3) { + grid-row: 2; + grid-column: 2; + } + + .fuerzaCell:nth-of-type(4) { + grid-row: 3; + grid-column: 1; + } + + .porcentajeCell:nth-of-type(5) { + grid-row: 3; + grid-column: 2; + } + + /* 3. Añadimos los labels "1ra:" y "2da:" con pseudo-elementos */ + .fuerzaCell::before { + font-weight: 500; + color: #6c757d; + margin-right: 0.5rem; + } + + .fuerzaCell:nth-of-type(2)::before { + content: '1ra:'; + } + + .fuerzaCell:nth-of-type(4)::before { + content: '2da:'; + } + + /* Ajustes de alineación */ + .fuerzaCell { + display: inline-flex; + align-items: baseline; + font-size: 0.9rem; + } + + .porcentajeCell { + font-size: 0.95rem; + } + + .seccionHeader td { + display: block; + grid-column: 1 / -1; + } } \ No newline at end of file diff --git a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaSeccionesWidget.tsx b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaSeccionesWidget.tsx index 4f3b871..7283f83 100644 --- a/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaSeccionesWidget.tsx +++ b/Elecciones-Web/frontend/src/features/legislativas/nacionales/TablaSeccionesWidget.tsx @@ -1,5 +1,5 @@ // src/features/legislativas/nacionales/TablaSeccionesWidget.tsx -import React from 'react'; // Importar React para React.Fragment +import React from 'react'; import { useQuery } from '@tanstack/react-query'; import { getTablaSecciones } from '../../../apiService'; import styles from './TablaResultadosWidget.module.css'; @@ -18,7 +18,7 @@ export const TablaSeccionesWidget = () => { return (
-

Resultados por Sección - Diputados Nacionales

+

Diputados Nacionales

{isLoading &&

Cargando resultados...

} {error &&

Error al cargar los datos.

} @@ -41,7 +41,9 @@ export const TablaSeccionesWidget = () => { {seccion.municipios.map((fila, index) => ( - {index + 1}.{fila.nombre} + + {index + 1}.{fila.nombre} + {fila.fuerza1Display} {formatPercent(fila.fuerza1Porcentaje)} {fila.fuerza2Display} diff --git a/Elecciones-Web/frontend/src/main.tsx b/Elecciones-Web/frontend/src/main.tsx index 8f3824c..eba916f 100644 --- a/Elecciones-Web/frontend/src/main.tsx +++ b/Elecciones-Web/frontend/src/main.tsx @@ -32,6 +32,7 @@ import { HomeCarouselNacionalWidget } from './features/legislativas/nacionales/H import { TablaConurbanoWidget } from './features/legislativas/nacionales/TablaConurbanoWidget'; import { TablaSeccionesWidget } from './features/legislativas/nacionales/TablaSeccionesWidget'; import { ResumenNacionalWidget } from './features/legislativas/nacionales/ResumenNacionalWidget'; +import { HomeCarouselProvincialWidget } from './features/legislativas/nacionales/HomeCarouselProvincialWidget'; import { DevAppLegislativas } from './features/legislativas/DevAppLegislativas'; @@ -68,6 +69,7 @@ const WIDGET_MAP: Record = { 'tabla-conurbano': TablaConurbanoWidget, 'tabla-secciones': TablaSeccionesWidget, 'resumen-nacional': ResumenNacionalWidget, + 'home-carousel-provincial': HomeCarouselProvincialWidget, }; // Vite establece `import.meta.env.DEV` a `true` cuando ejecutamos 'npm run dev' diff --git a/Elecciones-Web/src/Elecciones.Api/Controllers/CatalogosController.cs b/Elecciones-Web/src/Elecciones.Api/Controllers/CatalogosController.cs index 62298c1..339bec6 100644 --- a/Elecciones-Web/src/Elecciones.Api/Controllers/CatalogosController.cs +++ b/Elecciones-Web/src/Elecciones.Api/Controllers/CatalogosController.cs @@ -16,6 +16,23 @@ public class CatalogosController : ControllerBase _dbContext = dbContext; } + /// + /// Obtiene la lista de todas las provincias (distritos). + /// + [HttpGet("provincias")] + public async Task GetProvincias() + { + var provincias = await _dbContext.AmbitosGeograficos + .AsNoTracking() + .Where(a => a.NivelId == 10 && !string.IsNullOrEmpty(a.DistritoId)) // Nivel 10 = Provincia + .OrderBy(a => a.Nombre) + .Select(a => new { Id = a.DistritoId, a.Nombre }) + .Distinct() + .ToListAsync(); + + return Ok(provincias); + } + [HttpGet("municipios")] public async Task GetMunicipios([FromQuery] int? categoriaId) { diff --git a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/Elecciones.Api.AssemblyInfo.cs b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/Elecciones.Api.AssemblyInfo.cs index ff39232..69d5840 100644 --- a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/Elecciones.Api.AssemblyInfo.cs +++ b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/Elecciones.Api.AssemblyInfo.cs @@ -14,7 +14,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Api")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+248171146d637f758fd8b14a6a2ef9fcb0bcd3b5")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1335b54d759c402b859b6d8338cd0c944cc70171")] [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Api")] [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Api")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json index 2506e8c..d2bfbeb 100644 --- a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json +++ b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmcshtml.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","DXx5dQywLo3UsY2zQaUG\u002BbW4ObiYbybxPBWxeJD2bhk=","muVh5sjH3sgdvuz4TbuTwTggX1uDnsWXgoosMKST/r4=","nrP5gSIA5vzgp8v12CAOr943QYLxU4Til6oiCcWSNI8=","yMd45U9BK07I3b3fBQ627PWTYyZ2ZjrmFc5VD\u002BQVx1Q=","xKskvcoJU0RVRN1a5dRqKRM7IP5vmmbraUaPFYjhnCc=","p7BjQw7aSZjfOCqmKm7/kPO9qegEQZBfirMjlOx/I1I=","MI0hVVLYavEhzHq/Z1UbajfrxanA1aET19aOH8G2ImI=","2dY8CqW9fAY8yN0foa\u002BZp2gc0RfPoPmB/tKSj1QoTw0=","79rfGLH4UjfTPvc//\u002BZjnBqdz585pUtYZ0/hwE2iEic=","PUqgvMdfTQkF5lpBVtHv2teQLV5WaEH0xMKTmINe2YQ=","\u002BFI0b4ppdxel/pby/y/xKImHrtdxo2g83OhskdREyIg=","jEESu6\u002BhbDvNMjLt/6OufuK\u002B9cHmzx\u002BTCIn4fWa9nSc=","UaCPJEvR4nVxxGCB5CUnRlJiw4drDW3Q3Nss\u002Bya2cv4=","ZqF13CT3rok/Gzl\u002BMsw3q9X1nf65bwEVD670efE3k\u002Bk=","gH3W7phPzBCY1DAVn4YnP4SA8Uaq73TpctS0yFSvzNM=","u5F4J4\u002BLHUIOCz5ze5NSF42mDeAaAfi\u002BKN3Ay3rKLY8=","GeUUID0ymF5rrBWdX7YHzWA5GiGkNWCNUog4sp4xL3c=","3BxX4I0JXoDqmE8m0BrRZhixBRlHEueS3jAlmUXE/I8=","IlET7uqumshgFxIEvfKRskON\u002BeAKZ7OfD/kCeAwn0PM=","NN2rS\u002B89ZAITWlNODPcF/lHIh3ZNmAHvUX4EjqSkX4s=","OE89N/FsYhRU1Dy5Ne83ehzSwlNc/RcxHrJpHxPHfqY=","QI7IL4TkYEqfUiIEXQiVCaZx4vrM9/wZlvOrhnUd4jQ=","UIntj4QoiyGr7bnJN8KK5PGrhQd89m\u002BLfh4T8VKPxAk=","J\u002Bfv/j3QyIW9bxolc46wDka8641F622/QgIllt0Re80=","Y/o0rakw9VYzEfz9M659qW77P9kvz\u002B2gTe1Lv3zgUDE=","8QWUReqP8upfOnmA5lMNgBxAfYJ1z3zv/WYBUXBEiog=","1L7p1HQI/Uoosqm7RyBuYjKbRFTycFgJEtHPSdlXWhU=","ZxPpBx5gkHuilHLcg/vcjvaXswvTqiUM0YaAEwbNSLI=","zSbNtRd32h6wCMWjU5ecl5a3ECd\u002BVBstFC3etkdk4s0=","urIQ/RlknPjR8\u002BeAcCsDIPiRjQGFfUdIC\u002BoT3wYB2dU=","QgvJ\u002BjH2t7prbQ/Cu9eYOIBqysMeDcsXR6lggWr0auI=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","xGsYFCt4z/3oybSKe/TfOuJ3mQW6fLJVS9hZfmpKuPY="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","muVh5sjH3sgdvuz4TbuTwTggX1uDnsWXgoosMKST/r4=","nrP5gSIA5vzgp8v12CAOr943QYLxU4Til6oiCcWSNI8=","yMd45U9BK07I3b3fBQ627PWTYyZ2ZjrmFc5VD\u002BQVx1Q=","xKskvcoJU0RVRN1a5dRqKRM7IP5vmmbraUaPFYjhnCc=","p7BjQw7aSZjfOCqmKm7/kPO9qegEQZBfirMjlOx/I1I=","MI0hVVLYavEhzHq/Z1UbajfrxanA1aET19aOH8G2ImI=","2dY8CqW9fAY8yN0foa\u002BZp2gc0RfPoPmB/tKSj1QoTw0=","79rfGLH4UjfTPvc//\u002BZjnBqdz585pUtYZ0/hwE2iEic=","PUqgvMdfTQkF5lpBVtHv2teQLV5WaEH0xMKTmINe2YQ=","\u002BFI0b4ppdxel/pby/y/xKImHrtdxo2g83OhskdREyIg=","jEESu6\u002BhbDvNMjLt/6OufuK\u002B9cHmzx\u002BTCIn4fWa9nSc=","UaCPJEvR4nVxxGCB5CUnRlJiw4drDW3Q3Nss\u002Bya2cv4=","ZqF13CT3rok/Gzl\u002BMsw3q9X1nf65bwEVD670efE3k\u002Bk=","gH3W7phPzBCY1DAVn4YnP4SA8Uaq73TpctS0yFSvzNM=","u5F4J4\u002BLHUIOCz5ze5NSF42mDeAaAfi\u002BKN3Ay3rKLY8=","GeUUID0ymF5rrBWdX7YHzWA5GiGkNWCNUog4sp4xL3c=","3BxX4I0JXoDqmE8m0BrRZhixBRlHEueS3jAlmUXE/I8=","IlET7uqumshgFxIEvfKRskON\u002BeAKZ7OfD/kCeAwn0PM=","NN2rS\u002B89ZAITWlNODPcF/lHIh3ZNmAHvUX4EjqSkX4s=","OE89N/FsYhRU1Dy5Ne83ehzSwlNc/RcxHrJpHxPHfqY=","QI7IL4TkYEqfUiIEXQiVCaZx4vrM9/wZlvOrhnUd4jQ=","UIntj4QoiyGr7bnJN8KK5PGrhQd89m\u002BLfh4T8VKPxAk=","J\u002Bfv/j3QyIW9bxolc46wDka8641F622/QgIllt0Re80=","Y/o0rakw9VYzEfz9M659qW77P9kvz\u002B2gTe1Lv3zgUDE=","8QWUReqP8upfOnmA5lMNgBxAfYJ1z3zv/WYBUXBEiog=","1L7p1HQI/Uoosqm7RyBuYjKbRFTycFgJEtHPSdlXWhU=","ZxPpBx5gkHuilHLcg/vcjvaXswvTqiUM0YaAEwbNSLI=","zSbNtRd32h6wCMWjU5ecl5a3ECd\u002BVBstFC3etkdk4s0=","urIQ/RlknPjR8\u002BeAcCsDIPiRjQGFfUdIC\u002BoT3wYB2dU=","ytyPPQGU70eGo9tCrHq5\u002BwXF3yVuqv9Z\u002Br1Zdf0XUCI=","scnW1D7e2F059zWPpwmOsIw6KIyloYSDqXXW70WAZpQ=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","7Yl3qA5xr\u002BXUmuY\u002Bshj87a0l8dEYVlvjk253M66DWfo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmrazor.dswa.cache.json b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmrazor.dswa.cache.json index 8c76a1e..adeee93 100644 --- a/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmrazor.dswa.cache.json +++ b/Elecciones-Web/src/Elecciones.Api/obj/Debug/net9.0/rjsmrazor.dswa.cache.json @@ -1 +1 @@ -{"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","DXx5dQywLo3UsY2zQaUG\u002BbW4ObiYbybxPBWxeJD2bhk=","muVh5sjH3sgdvuz4TbuTwTggX1uDnsWXgoosMKST/r4=","nrP5gSIA5vzgp8v12CAOr943QYLxU4Til6oiCcWSNI8=","yMd45U9BK07I3b3fBQ627PWTYyZ2ZjrmFc5VD\u002BQVx1Q=","xKskvcoJU0RVRN1a5dRqKRM7IP5vmmbraUaPFYjhnCc=","p7BjQw7aSZjfOCqmKm7/kPO9qegEQZBfirMjlOx/I1I=","MI0hVVLYavEhzHq/Z1UbajfrxanA1aET19aOH8G2ImI=","2dY8CqW9fAY8yN0foa\u002BZp2gc0RfPoPmB/tKSj1QoTw0=","79rfGLH4UjfTPvc//\u002BZjnBqdz585pUtYZ0/hwE2iEic=","PUqgvMdfTQkF5lpBVtHv2teQLV5WaEH0xMKTmINe2YQ=","\u002BFI0b4ppdxel/pby/y/xKImHrtdxo2g83OhskdREyIg=","jEESu6\u002BhbDvNMjLt/6OufuK\u002B9cHmzx\u002BTCIn4fWa9nSc=","UaCPJEvR4nVxxGCB5CUnRlJiw4drDW3Q3Nss\u002Bya2cv4=","ZqF13CT3rok/Gzl\u002BMsw3q9X1nf65bwEVD670efE3k\u002Bk=","gH3W7phPzBCY1DAVn4YnP4SA8Uaq73TpctS0yFSvzNM=","u5F4J4\u002BLHUIOCz5ze5NSF42mDeAaAfi\u002BKN3Ay3rKLY8=","GeUUID0ymF5rrBWdX7YHzWA5GiGkNWCNUog4sp4xL3c=","3BxX4I0JXoDqmE8m0BrRZhixBRlHEueS3jAlmUXE/I8=","IlET7uqumshgFxIEvfKRskON\u002BeAKZ7OfD/kCeAwn0PM=","NN2rS\u002B89ZAITWlNODPcF/lHIh3ZNmAHvUX4EjqSkX4s=","OE89N/FsYhRU1Dy5Ne83ehzSwlNc/RcxHrJpHxPHfqY=","QI7IL4TkYEqfUiIEXQiVCaZx4vrM9/wZlvOrhnUd4jQ=","UIntj4QoiyGr7bnJN8KK5PGrhQd89m\u002BLfh4T8VKPxAk=","J\u002Bfv/j3QyIW9bxolc46wDka8641F622/QgIllt0Re80=","Y/o0rakw9VYzEfz9M659qW77P9kvz\u002B2gTe1Lv3zgUDE=","8QWUReqP8upfOnmA5lMNgBxAfYJ1z3zv/WYBUXBEiog=","1L7p1HQI/Uoosqm7RyBuYjKbRFTycFgJEtHPSdlXWhU=","ZxPpBx5gkHuilHLcg/vcjvaXswvTqiUM0YaAEwbNSLI=","zSbNtRd32h6wCMWjU5ecl5a3ECd\u002BVBstFC3etkdk4s0=","urIQ/RlknPjR8\u002BeAcCsDIPiRjQGFfUdIC\u002BoT3wYB2dU=","QgvJ\u002BjH2t7prbQ/Cu9eYOIBqysMeDcsXR6lggWr0auI=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","xGsYFCt4z/3oybSKe/TfOuJ3mQW6fLJVS9hZfmpKuPY="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file +{"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","muVh5sjH3sgdvuz4TbuTwTggX1uDnsWXgoosMKST/r4=","nrP5gSIA5vzgp8v12CAOr943QYLxU4Til6oiCcWSNI8=","yMd45U9BK07I3b3fBQ627PWTYyZ2ZjrmFc5VD\u002BQVx1Q=","xKskvcoJU0RVRN1a5dRqKRM7IP5vmmbraUaPFYjhnCc=","p7BjQw7aSZjfOCqmKm7/kPO9qegEQZBfirMjlOx/I1I=","MI0hVVLYavEhzHq/Z1UbajfrxanA1aET19aOH8G2ImI=","2dY8CqW9fAY8yN0foa\u002BZp2gc0RfPoPmB/tKSj1QoTw0=","79rfGLH4UjfTPvc//\u002BZjnBqdz585pUtYZ0/hwE2iEic=","PUqgvMdfTQkF5lpBVtHv2teQLV5WaEH0xMKTmINe2YQ=","\u002BFI0b4ppdxel/pby/y/xKImHrtdxo2g83OhskdREyIg=","jEESu6\u002BhbDvNMjLt/6OufuK\u002B9cHmzx\u002BTCIn4fWa9nSc=","UaCPJEvR4nVxxGCB5CUnRlJiw4drDW3Q3Nss\u002Bya2cv4=","ZqF13CT3rok/Gzl\u002BMsw3q9X1nf65bwEVD670efE3k\u002Bk=","gH3W7phPzBCY1DAVn4YnP4SA8Uaq73TpctS0yFSvzNM=","u5F4J4\u002BLHUIOCz5ze5NSF42mDeAaAfi\u002BKN3Ay3rKLY8=","GeUUID0ymF5rrBWdX7YHzWA5GiGkNWCNUog4sp4xL3c=","3BxX4I0JXoDqmE8m0BrRZhixBRlHEueS3jAlmUXE/I8=","IlET7uqumshgFxIEvfKRskON\u002BeAKZ7OfD/kCeAwn0PM=","NN2rS\u002B89ZAITWlNODPcF/lHIh3ZNmAHvUX4EjqSkX4s=","OE89N/FsYhRU1Dy5Ne83ehzSwlNc/RcxHrJpHxPHfqY=","QI7IL4TkYEqfUiIEXQiVCaZx4vrM9/wZlvOrhnUd4jQ=","UIntj4QoiyGr7bnJN8KK5PGrhQd89m\u002BLfh4T8VKPxAk=","J\u002Bfv/j3QyIW9bxolc46wDka8641F622/QgIllt0Re80=","Y/o0rakw9VYzEfz9M659qW77P9kvz\u002B2gTe1Lv3zgUDE=","8QWUReqP8upfOnmA5lMNgBxAfYJ1z3zv/WYBUXBEiog=","1L7p1HQI/Uoosqm7RyBuYjKbRFTycFgJEtHPSdlXWhU=","ZxPpBx5gkHuilHLcg/vcjvaXswvTqiUM0YaAEwbNSLI=","zSbNtRd32h6wCMWjU5ecl5a3ECd\u002BVBstFC3etkdk4s0=","urIQ/RlknPjR8\u002BeAcCsDIPiRjQGFfUdIC\u002BoT3wYB2dU=","ytyPPQGU70eGo9tCrHq5\u002BwXF3yVuqv9Z\u002Br1Zdf0XUCI=","scnW1D7e2F059zWPpwmOsIw6KIyloYSDqXXW70WAZpQ=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","7Yl3qA5xr\u002BXUmuY\u002Bshj87a0l8dEYVlvjk253M66DWfo="],"CachedAssets":{},"CachedCopyCandidates":{}} \ No newline at end of file diff --git a/Elecciones-Web/src/Elecciones.Core/obj/Debug/net9.0/Elecciones.Core.AssemblyInfo.cs b/Elecciones-Web/src/Elecciones.Core/obj/Debug/net9.0/Elecciones.Core.AssemblyInfo.cs index b2661c1..33c9779 100644 --- a/Elecciones-Web/src/Elecciones.Core/obj/Debug/net9.0/Elecciones.Core.AssemblyInfo.cs +++ b/Elecciones-Web/src/Elecciones.Core/obj/Debug/net9.0/Elecciones.Core.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Core")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+248171146d637f758fd8b14a6a2ef9fcb0bcd3b5")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1335b54d759c402b859b6d8338cd0c944cc70171")] [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Core")] [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Core")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Elecciones-Web/src/Elecciones.Database/obj/Debug/net9.0/Elecciones.Database.AssemblyInfo.cs b/Elecciones-Web/src/Elecciones.Database/obj/Debug/net9.0/Elecciones.Database.AssemblyInfo.cs index 1cb66cf..b649793 100644 --- a/Elecciones-Web/src/Elecciones.Database/obj/Debug/net9.0/Elecciones.Database.AssemblyInfo.cs +++ b/Elecciones-Web/src/Elecciones.Database/obj/Debug/net9.0/Elecciones.Database.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Database")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+248171146d637f758fd8b14a6a2ef9fcb0bcd3b5")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1335b54d759c402b859b6d8338cd0c944cc70171")] [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Database")] [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Database")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/Elecciones-Web/src/Elecciones.Infrastructure/obj/Debug/net9.0/Elecciones.Infrastructure.AssemblyInfo.cs b/Elecciones-Web/src/Elecciones.Infrastructure/obj/Debug/net9.0/Elecciones.Infrastructure.AssemblyInfo.cs index eb06002..9be8085 100644 --- a/Elecciones-Web/src/Elecciones.Infrastructure/obj/Debug/net9.0/Elecciones.Infrastructure.AssemblyInfo.cs +++ b/Elecciones-Web/src/Elecciones.Infrastructure/obj/Debug/net9.0/Elecciones.Infrastructure.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Infrastructure")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+248171146d637f758fd8b14a6a2ef9fcb0bcd3b5")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+1335b54d759c402b859b6d8338cd0c944cc70171")] [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Infrastructure")] [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Infrastructure")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]