Beispiel #1
0
        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 });
        }