Fix Resultados Totales Nacionales
This commit is contained in:
		| @@ -1190,15 +1190,41 @@ public class ResultadosController : ControllerBase | |||||||
|                 Color = g.Agrupacion.Color, |                 Color = g.Agrupacion.Color, | ||||||
|                 Votos = g.TotalVotos, |                 Votos = g.TotalVotos, | ||||||
|                 Porcentaje = totalVotosNacional > 0 ? (g.TotalVotos / totalVotosNacional) * 100 : 0, |                 Porcentaje = totalVotosNacional > 0 ? (g.TotalVotos / totalVotosNacional) * 100 : 0, | ||||||
|                 NombreCandidato = candidatoMatch?.NombreCandidato, // Mantenemos la lógica de candidato por si se usa a futuro |                 NombreCandidato = candidatoMatch?.NombreCandidato, | ||||||
|                 LogoUrl = logoMatch?.LogoUrl |                 LogoUrl = logoMatch?.LogoUrl | ||||||
|             }; |             }; | ||||||
|         }) |         }) | ||||||
|         .OrderByDescending(r => r.Votos) |         .OrderByDescending(r => r.Votos) | ||||||
|         .ToList(); |         .ToList(); | ||||||
|  |  | ||||||
|         var estadoRecuento = await _dbContext.EstadosRecuentosGenerales.AsNoTracking() |         // Calculamos los totales nacionales sumando los datos de todas las provincias (NivelId = 10). | ||||||
|                 .FirstOrDefaultAsync(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId && (e.AmbitoGeografico.NivelId == 1 || e.AmbitoGeografico.NivelId == 0)); |         var totalesProvincialesAgregados = await _dbContext.EstadosRecuentosGenerales | ||||||
|  |             .AsNoTracking() | ||||||
|  |             .Where(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId && e.AmbitoGeografico.NivelId == 10) | ||||||
|  |             .GroupBy(e => 1) // Agrupamos todo en una sola fila. | ||||||
|  |             .Select(g => new | ||||||
|  |             { | ||||||
|  |                 TotalVotantes = g.Sum(e => e.CantidadVotantes), | ||||||
|  |                 TotalElectores = g.Sum(e => e.CantidadElectores), | ||||||
|  |                 TotalMesasTotalizadas = g.Sum(e => e.MesasTotalizadas), | ||||||
|  |                 TotalMesasEsperadas = g.Sum(e => e.MesasEsperadas) | ||||||
|  |             }) | ||||||
|  |             .FirstOrDefaultAsync(); | ||||||
|  |  | ||||||
|  |         decimal participacionNacional = 0; | ||||||
|  |         decimal escrutadoNacional = 0; | ||||||
|  |  | ||||||
|  |         if (totalesProvincialesAgregados != null) | ||||||
|  |         { | ||||||
|  |             if (totalesProvincialesAgregados.TotalElectores > 0) | ||||||
|  |             { | ||||||
|  |                 participacionNacional = (decimal)totalesProvincialesAgregados.TotalVotantes * 100 / totalesProvincialesAgregados.TotalElectores; | ||||||
|  |             } | ||||||
|  |             if (totalesProvincialesAgregados.TotalMesasEsperadas > 0) | ||||||
|  |             { | ||||||
|  |                 escrutadoNacional = (decimal)totalesProvincialesAgregados.TotalMesasTotalizadas * 100 / totalesProvincialesAgregados.TotalMesasEsperadas; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         var respuesta = new PanelElectoralDto |         var respuesta = new PanelElectoralDto | ||||||
|         { |         { | ||||||
| @@ -1207,8 +1233,9 @@ public class ResultadosController : ControllerBase | |||||||
|             ResultadosPanel = resultadosPanel, |             ResultadosPanel = resultadosPanel, | ||||||
|             EstadoRecuento = new EstadoRecuentoDto |             EstadoRecuento = new EstadoRecuentoDto | ||||||
|             { |             { | ||||||
|                 ParticipacionPorcentaje = estadoRecuento?.ParticipacionPorcentaje ?? 0, |                 // Usamos los valores calculados. | ||||||
|                 MesasTotalizadasPorcentaje = estadoRecuento?.MesasTotalizadasPorcentaje ?? 0 |                 ParticipacionPorcentaje = participacionNacional, | ||||||
|  |                 MesasTotalizadasPorcentaje = escrutadoNacional | ||||||
|             } |             } | ||||||
|         }; |         }; | ||||||
|         return Ok(respuesta); |         return Ok(respuesta); | ||||||
| @@ -1611,13 +1638,6 @@ List<CandidatoOverride> overrides, string agrupacionId, int categoriaId, int? am | |||||||
|     [FromQuery] int eleccionId, |     [FromQuery] int eleccionId, | ||||||
|     [FromQuery] int categoriaId) |     [FromQuery] int categoriaId) | ||||||
|     { |     { | ||||||
|         // Buscamos el ámbito que representa a toda la nación (NivelId 0 o 1 según tu diseño) |  | ||||||
|         var ambitoNacional = await _dbContext.AmbitosGeograficos.AsNoTracking() |  | ||||||
|             .FirstOrDefaultAsync(a => a.NivelId == 0 || a.NivelId == 1); |  | ||||||
|  |  | ||||||
|         if (ambitoNacional == null) return NotFound("No se encontró el ámbito geográfico a nivel nacional."); |  | ||||||
|  |  | ||||||
|         // Agregamos los votos de TODOS los distritos para la categoría especificada |  | ||||||
|         var votosAgregados = await _dbContext.ResultadosVotos.AsNoTracking() |         var votosAgregados = await _dbContext.ResultadosVotos.AsNoTracking() | ||||||
|             .Where(r => r.EleccionId == eleccionId && r.CategoriaId == categoriaId) |             .Where(r => r.EleccionId == eleccionId && r.CategoriaId == categoriaId) | ||||||
|             .GroupBy(r => r.AgrupacionPolitica) |             .GroupBy(r => r.AgrupacionPolitica) | ||||||
| @@ -1625,16 +1645,42 @@ List<CandidatoOverride> overrides, string agrupacionId, int categoriaId, int? am | |||||||
|             .OrderByDescending(x => x.Votos) |             .OrderByDescending(x => x.Votos) | ||||||
|             .ToListAsync(); |             .ToListAsync(); | ||||||
|  |  | ||||||
|         // El resto de la lógica es muy similar al GetHomeResumen original |  | ||||||
|         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(); | ||||||
|  |         var categoriaInfo = await _dbContext.CategoriasElectorales.AsNoTracking().FirstOrDefaultAsync(c => c.Id == categoriaId); | ||||||
|  |  | ||||||
|         // Para el estado del recuento, buscamos el registro general a nivel nacional |         // Calculamos los totales nacionales sumando los datos de todas las provincias (NivelId = 10). | ||||||
|         var estado = await _dbContext.EstadosRecuentosGenerales.AsNoTracking() |         var totalesProvincialesAgregados = await _dbContext.EstadosRecuentosGenerales | ||||||
|             .Include(e => e.CategoriaElectoral) |             .AsNoTracking() | ||||||
|             .FirstOrDefaultAsync(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId && e.AmbitoGeograficoId == ambitoNacional.Id); |             .Where(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId && e.AmbitoGeografico.NivelId == 10) | ||||||
|  |             .GroupBy(e => 1) | ||||||
|  |             .Select(g => new | ||||||
|  |             { | ||||||
|  |                 TotalVotantes = g.Sum(e => e.CantidadVotantes), | ||||||
|  |                 TotalElectores = g.Sum(e => e.CantidadElectores), | ||||||
|  |                 TotalMesasTotalizadas = g.Sum(e => e.MesasTotalizadas), | ||||||
|  |                 TotalMesasEsperadas = g.Sum(e => e.MesasEsperadas), | ||||||
|  |                 UltimaFecha = g.Max(e => e.FechaTotalizacion) // También obtenemos la fecha más reciente. | ||||||
|  |             }) | ||||||
|  |             .FirstOrDefaultAsync(); | ||||||
|  |  | ||||||
|  |         var estadoRecuentoDto = new EstadoRecuentoDto(); | ||||||
|  |         DateTime ultimaActualizacion = DateTime.UtcNow; | ||||||
|  |  | ||||||
|  |         if (totalesProvincialesAgregados != null) | ||||||
|  |         { | ||||||
|  |             estadoRecuentoDto.CantidadVotantes = totalesProvincialesAgregados.TotalVotantes; | ||||||
|  |             ultimaActualizacion = totalesProvincialesAgregados.UltimaFecha; | ||||||
|  |             if (totalesProvincialesAgregados.TotalElectores > 0) | ||||||
|  |             { | ||||||
|  |                 estadoRecuentoDto.ParticipacionPorcentaje = (decimal)totalesProvincialesAgregados.TotalVotantes * 100 / totalesProvincialesAgregados.TotalElectores; | ||||||
|  |             } | ||||||
|  |             if (totalesProvincialesAgregados.TotalMesasEsperadas > 0) | ||||||
|  |             { | ||||||
|  |                 estadoRecuentoDto.MesasTotalizadasPorcentaje = (decimal)totalesProvincialesAgregados.TotalMesasTotalizadas * 100 / totalesProvincialesAgregados.TotalMesasEsperadas; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|         // Sumamos los votos no positivos de todos los ámbitos |  | ||||||
|         var votosNoPositivosAgregados = await _dbContext.EstadosRecuentos.AsNoTracking() |         var votosNoPositivosAgregados = await _dbContext.EstadosRecuentos.AsNoTracking() | ||||||
|             .Where(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId) |             .Where(e => e.EleccionId == eleccionId && e.CategoriaId == categoriaId) | ||||||
|             .GroupBy(e => 1) |             .GroupBy(e => 1) | ||||||
| @@ -1648,20 +1694,14 @@ List<CandidatoOverride> overrides, string agrupacionId, int categoriaId, int? am | |||||||
|         var respuesta = new CategoriaResumenHomeDto |         var respuesta = new CategoriaResumenHomeDto | ||||||
|         { |         { | ||||||
|             CategoriaId = categoriaId, |             CategoriaId = categoriaId, | ||||||
|             CategoriaNombre = estado?.CategoriaElectoral.Nombre ?? (categoriaId == 3 ? "DIPUTADOS NACIONALES" : "SENADORES NACIONALES"), |             CategoriaNombre = categoriaInfo?.Nombre ?? (categoriaId == 3 ? "DIPUTADOS NACIONALES" : "SENADORES NACIONALES"), | ||||||
|             UltimaActualizacion = estado?.FechaTotalizacion ?? DateTime.UtcNow, |             UltimaActualizacion = ultimaActualizacion, | ||||||
|             EstadoRecuento = estado != null ? new EstadoRecuentoDto |             EstadoRecuento = estadoRecuentoDto, | ||||||
|             { |  | ||||||
|                 ParticipacionPorcentaje = estado.ParticipacionPorcentaje, |  | ||||||
|                 MesasTotalizadasPorcentaje = estado.MesasTotalizadasPorcentaje, |  | ||||||
|                 CantidadVotantes = estado.CantidadVotantes |  | ||||||
|             } : null, |  | ||||||
|             VotosEnBlanco = votosEnBlanco, |             VotosEnBlanco = votosEnBlanco, | ||||||
|             VotosEnBlancoPorcentaje = votosTotales > 0 ? (votosEnBlanco / votosTotales) * 100 : 0, |             VotosEnBlancoPorcentaje = votosTotales > 0 ? (votosEnBlanco / votosTotales) * 100 : 0, | ||||||
|             VotosTotales = (long)votosTotales, |             VotosTotales = (long)votosTotales, | ||||||
|             Resultados = votosAgregados.Select(r => |             Resultados = votosAgregados.Select(r => | ||||||
|             { |             { | ||||||
|                 // A nivel nacional, no hay un ámbito provincial específico, así que pasamos null. |  | ||||||
|                 var candidatoMatch = FindBestCandidatoMatch(todosLosOverrides, r.Agrupacion.Id, categoriaId, null, eleccionId); |                 var candidatoMatch = FindBestCandidatoMatch(todosLosOverrides, r.Agrupacion.Id, categoriaId, null, eleccionId); | ||||||
|                 var logoMatch = FindBestLogoMatch(todosLosLogos, r.Agrupacion.Id, categoriaId, null, eleccionId); |                 var logoMatch = FindBestLogoMatch(todosLosLogos, r.Agrupacion.Id, categoriaId, null, eleccionId); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -14,7 +14,7 @@ using System.Reflection; | |||||||
| [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Api")] | [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Api")] | ||||||
| [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | ||||||
| [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | ||||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4cefb833d9fbf4d6fb71559bef4eefcea7222e86")] | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ced1ae6b3f1bb6bc7609843279fc6d448f023581")] | ||||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Api")] | [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Api")] | ||||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Api")] | [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Api")] | ||||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| {"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","ePXrkee3hv3wHUr8S7aYmRVvXUTxQf76zApKGv3/l3o=","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=","g/ml0bg3ScnSqw84EVi2DZNU8NSjt4OY/A5cmmU2l3E=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","HXLaMFGPnNaMINcNCkJL5ARtLenvbHnfhtgZAZYkfU4="],"CachedAssets":{},"CachedCopyCandidates":{}} | {"GlobalPropertiesHash":"b5T/+ta4fUd8qpIzUTm3KyEwAYYUsU5ASo+CSFM3ByE=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","ePXrkee3hv3wHUr8S7aYmRVvXUTxQf76zApKGv3/l3o=","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=","lQ/iaNfGnc0FJKQrkxKHO7SliCjPeh/9jmDIfSDVoaM=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","vdD3oinLVedyfMLJse78C6gHW10I\u002BzpFGV0NLc0LX8g="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||||
| @@ -1 +1 @@ | |||||||
| {"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","ePXrkee3hv3wHUr8S7aYmRVvXUTxQf76zApKGv3/l3o=","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=","g/ml0bg3ScnSqw84EVi2DZNU8NSjt4OY/A5cmmU2l3E=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","HXLaMFGPnNaMINcNCkJL5ARtLenvbHnfhtgZAZYkfU4="],"CachedAssets":{},"CachedCopyCandidates":{}} | {"GlobalPropertiesHash":"tJTBjV/i0Ihkc6XuOu69wxL8PBac9c9Kak6srMso4pU=","FingerprintPatternsHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","PropertyOverridesHash":"8ZRc1sGeVrPBx4lD717BgRaQekyh78QKV9SKsdt638U=","InputHashes":["YB39loxHH43S4MF8aTOiogcIbBAIq5Qj3dlJkIfYVxI=","t631p0kaOa0gMRIcaPzz1ZVPZ1kuq4pq4kYPWQgoPcM=","PA/Beu9jJpOBY5r5Y1CiSyqrARA2j7LHeWYUnEZpQO8=","E2ODTAlJxzsXY1iP1eB/02NIUK\u002BnQveGlWAOHY1cpgA=","PDy\u002BTiayvNAoXXBEgwC/kCojpgOOMI6RQOIoSXs3LJc=","ePXrkee3hv3wHUr8S7aYmRVvXUTxQf76zApKGv3/l3o=","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=","lQ/iaNfGnc0FJKQrkxKHO7SliCjPeh/9jmDIfSDVoaM=","BY4GeeFiQbYpWuSzb2XIY4JatmLNOZ6dhKs4ZT92nsM=","P8JRhYPpULTLMAydvl3Ky\u002B92/tYDIjui0l66En4aXuQ=","vdD3oinLVedyfMLJse78C6gHW10I\u002BzpFGV0NLc0LX8g="],"CachedAssets":{},"CachedCopyCandidates":{}} | ||||||
| @@ -13,7 +13,7 @@ using System.Reflection; | |||||||
| [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Core")] | [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Core")] | ||||||
| [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | ||||||
| [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | ||||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4cefb833d9fbf4d6fb71559bef4eefcea7222e86")] | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ced1ae6b3f1bb6bc7609843279fc6d448f023581")] | ||||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Core")] | [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Core")] | ||||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Core")] | [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Core")] | ||||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ using System.Reflection; | |||||||
| [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Database")] | [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Database")] | ||||||
| [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | ||||||
| [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | ||||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4cefb833d9fbf4d6fb71559bef4eefcea7222e86")] | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ced1ae6b3f1bb6bc7609843279fc6d448f023581")] | ||||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Database")] | [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Database")] | ||||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Database")] | [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Database")] | ||||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||||
|   | |||||||
| @@ -13,7 +13,7 @@ using System.Reflection; | |||||||
| [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Infrastructure")] | [assembly: System.Reflection.AssemblyCompanyAttribute("Elecciones.Infrastructure")] | ||||||
| [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] | ||||||
| [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] | ||||||
| [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+4cefb833d9fbf4d6fb71559bef4eefcea7222e86")] | [assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+ced1ae6b3f1bb6bc7609843279fc6d448f023581")] | ||||||
| [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Infrastructure")] | [assembly: System.Reflection.AssemblyProductAttribute("Elecciones.Infrastructure")] | ||||||
| [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Infrastructure")] | [assembly: System.Reflection.AssemblyTitleAttribute("Elecciones.Infrastructure")] | ||||||
| [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user