Fix Selectores
This commit is contained in:
		| @@ -182,7 +182,10 @@ export const getMunicipios = async (categoriaId?: number): Promise<MunicipioSimp | ||||
|     url += `?categoriaId=${categoriaId}`; | ||||
|   } | ||||
|   const response = await apiClient.get(url); | ||||
|   // El backend ahora devuelve { id, nombre }, por lo que no se necesita mapeo. | ||||
|  | ||||
|   // --- CORRECCIÓN --- | ||||
|   // La API devuelve un array de objetos con las propiedades { id, nombre }. | ||||
|   // Ya no es necesario mapear. Simplemente devolvemos los datos como vienen. | ||||
|   return response.data; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -31,7 +31,7 @@ export const DiputadosWidget = () => { | ||||
|  | ||||
|   const { data: municipios = [], isLoading: isLoadingMunicipios } = useQuery<MunicipioSimple[]>({ | ||||
|     queryKey: ['municipios', CATEGORIA_ID], // Key única para la lista de municipios de diputados | ||||
|     queryFn: () => getMunicipios(), // Pide solo los municipios que votan diputados | ||||
|     queryFn: () => getMunicipios(CATEGORIA_ID), // Pide solo los municipios que votan diputados | ||||
|   }); | ||||
|  | ||||
|   // useEffect para establecer "LA PLATA" por defecto | ||||
|   | ||||
| @@ -21,35 +21,33 @@ public class CatalogosController : ControllerBase | ||||
|     { | ||||
|         var municipiosQuery = _dbContext.AmbitosGeograficos | ||||
|             .AsNoTracking() | ||||
|             .Where(a => a.NivelId == 30 && !string.IsNullOrEmpty(a.SeccionId)); | ||||
|             .Where(a => a.NivelId == 30); | ||||
|  | ||||
|         if (categoriaId == null) | ||||
|         // --- LÓGICA UNIFICADA --- | ||||
|  | ||||
|         // Si hay una categoría, primero filtramos los municipios que son relevantes. | ||||
|         if (categoriaId.HasValue) | ||||
|         { | ||||
|             var todosLosMunicipios = await municipiosQuery | ||||
|                 .OrderBy(a => a.Nombre) | ||||
|                 .Select(a => new { id = a.SeccionId, a.Nombre }) | ||||
|             var municipiosActivosIds = await _dbContext.ResultadosVotos | ||||
|                 .AsNoTracking() | ||||
|                 .Where(rv => rv.CategoriaId == categoriaId && rv.AmbitoGeografico.NivelId == 30) | ||||
|                 .Select(rv => rv.AmbitoGeografico.SeccionId) | ||||
|                 .Distinct() | ||||
|                 .ToListAsync(); | ||||
|             return Ok(todosLosMunicipios); | ||||
|  | ||||
|             if (!municipiosActivosIds.Any()) return Ok(new List<object>()); | ||||
|  | ||||
|             municipiosQuery = municipiosQuery.Where(m => m.SeccionId != null && municipiosActivosIds.Contains(m.SeccionId)); | ||||
|         } | ||||
|  | ||||
|         // --- LÓGICA DE FILTRADO CORREGIDA Y SIMPLIFICADA --- | ||||
|         // Un municipio vota para una categoría legislativa si su sección electoral | ||||
|         // tiene proyecciones de bancas para esa categoría. | ||||
|  | ||||
|         var seccionesConProyeccion = await _dbContext.ProyeccionesBancas | ||||
|             .AsNoTracking() | ||||
|             .Where(p => p.CategoriaId == categoriaId) | ||||
|             .Select(p => p.AmbitoGeografico.SeccionProvincialId) | ||||
|             .Distinct() | ||||
|         // Devolvemos siempre la misma estructura: { Id, Nombre } | ||||
|         // donde 'Id' es el SeccionId, que es el que se usa en las URLs de resultados. | ||||
|         var municipios = await municipiosQuery | ||||
|             .OrderBy(a => a.Nombre) | ||||
|             .Select(a => new { Id = a.SeccionId, a.Nombre }) | ||||
|             .ToListAsync(); | ||||
|  | ||||
|         var municipiosFiltrados = await municipiosQuery | ||||
|             .Where(m => m.SeccionProvincialId != null && seccionesConProyeccion.Contains(m.SeccionProvincialId)) | ||||
|             .OrderBy(m => m.Nombre) | ||||
|             .Select(m => new { id = m.SeccionId, m.Nombre }) | ||||
|             .ToListAsync(); | ||||
|  | ||||
|         return Ok(municipiosFiltrados); | ||||
|         return Ok(municipios); | ||||
|     } | ||||
|  | ||||
|     [HttpGet("agrupaciones")] | ||||
| @@ -69,7 +67,6 @@ public class CatalogosController : ControllerBase | ||||
|             .AsNoTracking() | ||||
|             .Where(a => a.NivelId == 20); // Nivel 20 = Sección Electoral | ||||
|  | ||||
|         // Si NO se proporciona una categoriaId, devolvemos todas las secciones. | ||||
|         if (categoriaId == null) | ||||
|         { | ||||
|             var todasLasSecciones = await seccionesQuery | ||||
| @@ -79,19 +76,25 @@ public class CatalogosController : ControllerBase | ||||
|             return Ok(todasLasSecciones); | ||||
|         } | ||||
|  | ||||
|         // --- LÓGICA DE FILTRADO --- | ||||
|         // 1. Encontrar las Secciones Provinciales que SÍ tienen resultados para la categoría solicitada. | ||||
|         //    Usamos ProyeccionesBancas como fuente de verdad, ya que es el dato más relevante. | ||||
|         var seccionesActivasIds = await _dbContext.ProyeccionesBancas | ||||
|         // --- LÓGICA DE FILTRADO CORREGIDA Y MÁS ROBUSTA --- | ||||
|         // Usamos los ResultadosVotos como fuente, ya que es más probable que existan | ||||
|         // que las proyecciones de bancas en todo momento. | ||||
|         // Buscamos los municipios que tienen votos para esta categoría. | ||||
|         var municipiosConVotos = await _dbContext.ResultadosVotos | ||||
|             .AsNoTracking() | ||||
|             .Where(p => p.CategoriaId == categoriaId) | ||||
|             .Select(p => p.AmbitoGeografico.SeccionProvincialId) | ||||
|             .Where(rv => rv.CategoriaId == categoriaId) | ||||
|             .Select(rv => rv.AmbitoGeografico.SeccionProvincialId) // De aquí sacamos la sección electoral | ||||
|             .Distinct() | ||||
|             .ToListAsync(); | ||||
|  | ||||
|         // 2. Filtramos la lista de secciones. | ||||
|         if (!municipiosConVotos.Any()) | ||||
|         { | ||||
|             // Si no hay ningún voto en absoluto, devolvemos vacío (esto es correcto). | ||||
|             return Ok(new List<object>()); | ||||
|         } | ||||
|  | ||||
|         var seccionesFiltradas = await seccionesQuery | ||||
|             .Where(s => seccionesActivasIds.Contains(s.SeccionProvincialId)) | ||||
|             .Where(s => s.SeccionProvincialId != null && municipiosConVotos.Contains(s.SeccionProvincialId)) | ||||
|             .OrderBy(a => a.Nombre) | ||||
|             .Select(a => new { Id = a.SeccionProvincialId, a.Nombre }) | ||||
|             .ToListAsync(); | ||||
|   | ||||
| @@ -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+a49fc80fd92e001a4a5449f78c88ff2bbac03aea")] | ||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+50d3c6bce97a03378e6af6bb8a833b8102fbc019")] | ||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Api")] | ||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Api")] | ||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||
|   | ||||
| @@ -1 +1 @@ | ||||
| {"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["TyIJk/eQMWjmB5LsDE\u002BZIJC9P9ciVxd7bnzRiTZsGt4=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","6WTvWQ72AaZBYOVSmaxaci9tc1dW5p7IK9Kscjj2cb0=","vAy46VJ9Gp8QqG/Px4J1mj8jL6ws4/A01UKRmMYfYek=","cdgbHR/E4DJsddPc\u002BTpzoUMOVNaFJZm33Pw7AxU9Ees=","4r4JGR4hS5m4rsLfuCSZxzrknTBxKFkLQDXc\u002B2KbqTU=","yVoZ4UnBcSOapsJIi046hnn7ylD3jAcEBUxQ\u002Brkvj/4=","/GfbpJthEWmsuz0uFx1QLHM7gyM1wLLeQgAIl4SzUD4=","i5\u002B5LcfxQD8meRAkQbVf4wMvjxSE4\u002BjCd2/FdPtMpms=","AvSkxVPIg0GjnB1RJ4hDNyo9p9GONrzDs8uVuixH\u002BOE=","IgT9pOgRnK37qfILj2QcjFoBZ180HMt\u002BScgje2iYOo4=","ezUlOMzNZmyKDIe1wwXqvX\u002BvhwfB992xNVts7r2zcTc=","y2BV4WpkQuLfqQhfOQBtmuzh940c3s4LAopGKfztfTE=","lHTUEsMkDu8nqXtfTwl7FRfgocyyc7RI5O/edTHN1\u002B0=","A7nz7qgOtQ1CwZZLvNnr0b5QZB3fTi3y4i6y7rBIcxQ=","znnuRi2tsk7AACuYo4WSgj7NcLriG4PKVaF4L35SvDk=","GelE32odx/vTului267wqi6zL3abBnF9yvwC2Q66LoM=","TEsXImnzxFKTIq2f5fiDu7i6Ar/cbecW5MZ3z8Wb/a4=","5WogJu\u002BUPlF\u002BE5mq/ILtDXpVwqwmhHtsEB13nmT5JJk=","dcHQRkttjMjo2dvhL7hA9t4Pg\u002B7OnjZpkFmakT4QR9U=","Of8nTYw5l\u002BgiAJo7z6XYIntG2tUtCFcILzHbTiiXn\u002Bw=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","qeQc1nYyb00vdIkDQV43F/fuwj9/mRSdS02w1PJf9SE=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","Lla/b7T2B\u002BGNHrqUu2EetRojo2xGOnJrsQVFo1o9JRE="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||
| {"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["TyIJk/eQMWjmB5LsDE\u002BZIJC9P9ciVxd7bnzRiTZsGt4=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","6WTvWQ72AaZBYOVSmaxaci9tc1dW5p7IK9Kscjj2cb0=","vAy46VJ9Gp8QqG/Px4J1mj8jL6ws4/A01UKRmMYfYek=","cdgbHR/E4DJsddPc\u002BTpzoUMOVNaFJZm33Pw7AxU9Ees=","4r4JGR4hS5m4rsLfuCSZxzrknTBxKFkLQDXc\u002B2KbqTU=","yVoZ4UnBcSOapsJIi046hnn7ylD3jAcEBUxQ\u002Brkvj/4=","/GfbpJthEWmsuz0uFx1QLHM7gyM1wLLeQgAIl4SzUD4=","i5\u002B5LcfxQD8meRAkQbVf4wMvjxSE4\u002BjCd2/FdPtMpms=","AvSkxVPIg0GjnB1RJ4hDNyo9p9GONrzDs8uVuixH\u002BOE=","IgT9pOgRnK37qfILj2QcjFoBZ180HMt\u002BScgje2iYOo4=","ezUlOMzNZmyKDIe1wwXqvX\u002BvhwfB992xNVts7r2zcTc=","y2BV4WpkQuLfqQhfOQBtmuzh940c3s4LAopGKfztfTE=","lHTUEsMkDu8nqXtfTwl7FRfgocyyc7RI5O/edTHN1\u002B0=","A7nz7qgOtQ1CwZZLvNnr0b5QZB3fTi3y4i6y7rBIcxQ=","znnuRi2tsk7AACuYo4WSgj7NcLriG4PKVaF4L35SvDk=","GelE32odx/vTului267wqi6zL3abBnF9yvwC2Q66LoM=","TEsXImnzxFKTIq2f5fiDu7i6Ar/cbecW5MZ3z8Wb/a4=","5WogJu\u002BUPlF\u002BE5mq/ILtDXpVwqwmhHtsEB13nmT5JJk=","dcHQRkttjMjo2dvhL7hA9t4Pg\u002B7OnjZpkFmakT4QR9U=","Of8nTYw5l\u002BgiAJo7z6XYIntG2tUtCFcILzHbTiiXn\u002Bw=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","/m4FR4iXKuwmkGwlGV8BC\u002BQlY1lNKwuFjn/swBxcJwY=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","V6FZj7x4KC8RXM8C8gTLzOqvQTQl9FcMgsSBpQA/m8U="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||
| @@ -1 +1 @@ | ||||
| {"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["TyIJk/eQMWjmB5LsDE\u002BZIJC9P9ciVxd7bnzRiTZsGt4=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","6WTvWQ72AaZBYOVSmaxaci9tc1dW5p7IK9Kscjj2cb0=","vAy46VJ9Gp8QqG/Px4J1mj8jL6ws4/A01UKRmMYfYek=","cdgbHR/E4DJsddPc\u002BTpzoUMOVNaFJZm33Pw7AxU9Ees=","4r4JGR4hS5m4rsLfuCSZxzrknTBxKFkLQDXc\u002B2KbqTU=","yVoZ4UnBcSOapsJIi046hnn7ylD3jAcEBUxQ\u002Brkvj/4=","/GfbpJthEWmsuz0uFx1QLHM7gyM1wLLeQgAIl4SzUD4=","i5\u002B5LcfxQD8meRAkQbVf4wMvjxSE4\u002BjCd2/FdPtMpms=","AvSkxVPIg0GjnB1RJ4hDNyo9p9GONrzDs8uVuixH\u002BOE=","IgT9pOgRnK37qfILj2QcjFoBZ180HMt\u002BScgje2iYOo4=","ezUlOMzNZmyKDIe1wwXqvX\u002BvhwfB992xNVts7r2zcTc=","y2BV4WpkQuLfqQhfOQBtmuzh940c3s4LAopGKfztfTE=","lHTUEsMkDu8nqXtfTwl7FRfgocyyc7RI5O/edTHN1\u002B0=","A7nz7qgOtQ1CwZZLvNnr0b5QZB3fTi3y4i6y7rBIcxQ=","znnuRi2tsk7AACuYo4WSgj7NcLriG4PKVaF4L35SvDk=","GelE32odx/vTului267wqi6zL3abBnF9yvwC2Q66LoM=","TEsXImnzxFKTIq2f5fiDu7i6Ar/cbecW5MZ3z8Wb/a4=","5WogJu\u002BUPlF\u002BE5mq/ILtDXpVwqwmhHtsEB13nmT5JJk=","dcHQRkttjMjo2dvhL7hA9t4Pg\u002B7OnjZpkFmakT4QR9U=","Of8nTYw5l\u002BgiAJo7z6XYIntG2tUtCFcILzHbTiiXn\u002Bw=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","qeQc1nYyb00vdIkDQV43F/fuwj9/mRSdS02w1PJf9SE=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","Lla/b7T2B\u002BGNHrqUu2EetRojo2xGOnJrsQVFo1o9JRE="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||
| {"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["TyIJk/eQMWjmB5LsDE\u002BZIJC9P9ciVxd7bnzRiTZsGt4=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","6WTvWQ72AaZBYOVSmaxaci9tc1dW5p7IK9Kscjj2cb0=","vAy46VJ9Gp8QqG/Px4J1mj8jL6ws4/A01UKRmMYfYek=","cdgbHR/E4DJsddPc\u002BTpzoUMOVNaFJZm33Pw7AxU9Ees=","4r4JGR4hS5m4rsLfuCSZxzrknTBxKFkLQDXc\u002B2KbqTU=","yVoZ4UnBcSOapsJIi046hnn7ylD3jAcEBUxQ\u002Brkvj/4=","/GfbpJthEWmsuz0uFx1QLHM7gyM1wLLeQgAIl4SzUD4=","i5\u002B5LcfxQD8meRAkQbVf4wMvjxSE4\u002BjCd2/FdPtMpms=","AvSkxVPIg0GjnB1RJ4hDNyo9p9GONrzDs8uVuixH\u002BOE=","IgT9pOgRnK37qfILj2QcjFoBZ180HMt\u002BScgje2iYOo4=","ezUlOMzNZmyKDIe1wwXqvX\u002BvhwfB992xNVts7r2zcTc=","y2BV4WpkQuLfqQhfOQBtmuzh940c3s4LAopGKfztfTE=","lHTUEsMkDu8nqXtfTwl7FRfgocyyc7RI5O/edTHN1\u002B0=","A7nz7qgOtQ1CwZZLvNnr0b5QZB3fTi3y4i6y7rBIcxQ=","znnuRi2tsk7AACuYo4WSgj7NcLriG4PKVaF4L35SvDk=","GelE32odx/vTului267wqi6zL3abBnF9yvwC2Q66LoM=","TEsXImnzxFKTIq2f5fiDu7i6Ar/cbecW5MZ3z8Wb/a4=","5WogJu\u002BUPlF\u002BE5mq/ILtDXpVwqwmhHtsEB13nmT5JJk=","dcHQRkttjMjo2dvhL7hA9t4Pg\u002B7OnjZpkFmakT4QR9U=","Of8nTYw5l\u002BgiAJo7z6XYIntG2tUtCFcILzHbTiiXn\u002Bw=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","/m4FR4iXKuwmkGwlGV8BC\u002BQlY1lNKwuFjn/swBxcJwY=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","V6FZj7x4KC8RXM8C8gTLzOqvQTQl9FcMgsSBpQA/m8U="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||
| @@ -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+a49fc80fd92e001a4a5449f78c88ff2bbac03aea")] | ||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+50d3c6bce97a03378e6af6bb8a833b8102fbc019")] | ||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Core")] | ||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Core")] | ||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||
|   | ||||
| @@ -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+a49fc80fd92e001a4a5449f78c88ff2bbac03aea")] | ||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+50d3c6bce97a03378e6af6bb8a833b8102fbc019")] | ||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Database")] | ||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Database")] | ||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||
|   | ||||
| @@ -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+a49fc80fd92e001a4a5449f78c88ff2bbac03aea")] | ||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+50d3c6bce97a03378e6af6bb8a833b8102fbc019")] | ||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Infrastructure")] | ||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Infrastructure")] | ||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||
|   | ||||
		Reference in New Issue
	
	Block a user