public object GenerarResultados_BL(int anyo) { object result = null; string mensaje = ""; BDetalleProceso oBDetalleProceso = new BDetalleProceso(); var proceso = oBDetalleProceso.ObtenerProcesoVigente_BL("Realizar Votaciones"); if (proceso == null) { BPartidoPostulante oBPartidoPostulante = new BPartidoPostulante(); var resultados = ListarResultadosVotos_BL(anyo); var conteo = ListarConteoVotos_BL(anyo); //Maxima cantidad de votos int maxVotacion = resultados.Max(x => x.Votos); var ganadores = resultados.Where(x => x.Votos == maxVotacion).ToList(); object dataPartido = null; //Si existe un unico ganador if (ganadores.Count == 1) { var ganador = ganadores.FirstOrDefault(); var p = oBPartidoPostulante.ListarPartidoPostulante_BL(ganador.idPartido); string foto = ""; if (p.Logo != null) { foto = string.Format("data:image/png;base64,{0}", System.Convert.ToBase64String(p.Logo)); p.Logo = null; } dataPartido = new { Partido = p, Logo = foto, Integrantes = oBPartidoPostulante.ListarIntegrantesPartido_BL(ganador.idPartido) }; } result = new { Votos = resultados, Conteo = conteo, Ganador = dataPartido ?? ganadores }; } else { mensaje = "El proceso de votación no ha concluido"; } return(result ?? new { Mensaje = mensaje }); }