Exemplo n.º 1
0
        public static string obtenerClaseCSS(Resultados.TipoMedalla medalla, bool top3 = false)
        {
            switch (medalla)
            {
            case Resultados.TipoMedalla.BRONCE:
                return(CLASE_BRONCE);

            case Resultados.TipoMedalla.PLATA:
                return(CLASE_PLATA);

            case Resultados.TipoMedalla.ORO:
            case Resultados.TipoMedalla.ORO_1:
                return(CLASE_ORO);

            case Resultados.TipoMedalla.ORO_2:
                if (top3)
                {
                    return(CLASE_PLATA);
                }
                return(CLASE_ORO);

            case Resultados.TipoMedalla.ORO_3:
                if (top3)
                {
                    return(CLASE_BRONCE);
                }
                return(CLASE_ORO);

            case Resultados.TipoMedalla.CLASIFICADO:
                return(CLASE_CLASIFICADO);
            }

            return(String.Empty);
        }
Exemplo n.º 2
0
 public DetalleLugar(string omi, TipoOlimpiada tipoOlimpiada, string clave, int timestamp, int dia, Resultados.TipoMedalla medalla, int lugar)
 {
     this.omi           = omi;
     this.tipoOlimpiada = tipoOlimpiada;
     this.clave         = clave;
     this.timestamp     = timestamp;
     this.dia           = dia;
     this.medalla       = medalla;
     this.lugar         = lugar;
 }
Exemplo n.º 3
0
        private void llenarDatos(int usuario, TipoOlimpiada tipoOlimpiada = TipoOlimpiada.OMI)
        {
            // Primero obtenemos la persona
            this.persona = Persona.obtenerPersonaConClave(usuario);

            Acceso        db    = new Acceso();
            StringBuilder query = new StringBuilder();

            query.Append(" select olimpiada, medalla, estado from Resultados where concursante = ");
            query.Append(usuario);
            query.Append(" and clase = ");
            query.Append(Cadenas.comillas(tipoOlimpiada.ToString().ToLower()));
            query.Append(" order by medalla");

            db.EjecutarQuery(query.ToString());
            DataTable table = db.getTable();

            medallas = new List <KeyValuePair <Olimpiada, Resultados.TipoMedalla> >();
            estados  = new HashSet <string>();
            foreach (DataRow r in table.Rows)
            {
                Resultados.TipoMedalla medalla = DataRowParser.ToTipoMedalla(DataRowParser.ToString(r["medalla"]));

                if (medalla == Resultados.TipoMedalla.NADA)
                {
                    continue;
                }

                Olimpiada o = Olimpiada.obtenerOlimpiadaConClave(DataRowParser.ToString(r["olimpiada"]), tipoOlimpiada);
                medallas.Add(new KeyValuePair <Olimpiada, Resultados.TipoMedalla>(o, medalla));

                string estado = DataRowParser.ToString(r["estado"]);
                if (!estados.Contains(estado))
                {
                    estados.Add(estado);
                }

                if (medalla == Resultados.TipoMedalla.BRONCE)
                {
                    bronces++;
                }
                else if (medalla == Resultados.TipoMedalla.PLATA)
                {
                    platas++;
                }
                else
                {
                    oros++;
                }
            }
        }
Exemplo n.º 4
0
        public static string obtenerImagenMedalla(Resultados.TipoMedalla medalla)
        {
            switch (medalla)
            {
            case Resultados.TipoMedalla.ORO:
            case Resultados.TipoMedalla.ORO_1:
            case Resultados.TipoMedalla.ORO_2:
            case Resultados.TipoMedalla.ORO_3:
                return(IMG_ORO);

            case Resultados.TipoMedalla.PLATA:
                return(IMG_PLATA);

            case Resultados.TipoMedalla.BRONCE:
                return(IMG_BRONCE);
            }
            return("");
        }
Exemplo n.º 5
0
        /// <summary>
        /// Regresa el Top 3 de todas las olimpiadas
        /// </summary>
        /// <param name="tipoOlimpiada">El tipo de olimpiada</param>
        /// <returns>La lista de top 3 de todas las olimpiadas</returns>
        public static Dictionary <string, List <KeyValuePair <Persona, Resultados.TipoMedalla> > > obtenerTop3(TipoOlimpiada tipoOlimpiada)
        {
            Dictionary <string, List <KeyValuePair <Persona, Resultados.TipoMedalla> > > top3 = new Dictionary <string, List <KeyValuePair <Persona, Resultados.TipoMedalla> > >();

            Acceso        db    = new Acceso();
            StringBuilder query = new StringBuilder();

            query.Append(" select olimpiada, concursante, medalla from resultados where clase =  ");
            query.Append(Cadenas.comillas(tipoOlimpiada.ToString().ToLower()));
            query.Append(" and (medalla = ");
            query.Append((int)Resultados.TipoMedalla.ORO_1);
            query.Append(" or medalla = ");
            query.Append((int)Resultados.TipoMedalla.ORO_2);
            query.Append(" or medalla = ");
            query.Append((int)Resultados.TipoMedalla.ORO_3);
            query.Append(") order by olimpiada, medalla asc");

            db.EjecutarQuery(query.ToString());
            DataTable table = db.getTable();

            List <KeyValuePair <Persona, Resultados.TipoMedalla> > ganadores = null;
            string lastOMI = null;

            foreach (DataRow r in table.Rows)
            {
                string olimpiada               = DataRowParser.ToString(r["olimpiada"]);
                int    concursante             = DataRowParser.ToInt(r["concursante"]);
                Resultados.TipoMedalla medalla = DataRowParser.ToTipoMedalla(r["medalla"]);

                if (lastOMI == null || lastOMI != olimpiada)
                {
                    ganadores = new List <KeyValuePair <Persona, Resultados.TipoMedalla> >();
                    top3.Add(olimpiada.Trim(), ganadores);
                    lastOMI = olimpiada;
                }

                Persona persona = Persona.obtenerPersonaConClave(concursante);
                ganadores.Add(new KeyValuePair <Persona, Resultados.TipoMedalla>(persona, medalla));
            }

            return(top3);
        }
Exemplo n.º 6
0
 private void llenarDatos(DataRow row)
 {
     clave   = DataRowParser.ToString(row["clave"]);
     lugar   = DataRowParser.ToInt(row["lugar"]);
     medalla = DataRowParser.ToTipoMedalla(row["medalla"]);
 }
Exemplo n.º 7
0
        /// <summary>
        /// Actualiza la última entrada en la tabla para el concursante mandado como parámetro
        /// </summary>
        public static void actualizarUltimo(string omi, TipoOlimpiada tipo, int dia, string clave, int lugar, Resultados.TipoMedalla medalla)
        {
            StringBuilder query = new StringBuilder();
            Acceso        db    = new Acceso();

            // Primero obtenemos el timestamp mas grande
            query.Append(" select MAX(timestamp) from DetalleLugar where olimpiada = ");
            query.Append(Cadenas.comillas(omi));
            query.Append(" and clase = ");
            query.Append(Cadenas.comillas(tipo.ToString().ToLower()));
            query.Append(" and dia = ");
            query.Append(dia);
            query.Append(" and clave = ");
            query.Append(Cadenas.comillas(clave));

            db.EjecutarQuery(query.ToString());

            DataTable table = db.getTable();

            if (table.Rows.Count == 0)
            {
                return;
            }

            int timestamp = DataRowParser.ToInt(table.Rows[0][0]);

            query.Clear();

            // Ahora actualizamos los puntos
            query.Append("update DetalleLugar set lugar = ");
            query.Append(lugar);
            if (medalla != Resultados.TipoMedalla.DESCALIFICADO)
            {
                query.Append(", medalla = ");
                query.Append((int)medalla);
            }
            query.Append(" where olimpiada = ");
            query.Append(Cadenas.comillas(omi));
            query.Append(" and clase = ");
            query.Append(Cadenas.comillas(tipo.ToString().ToLower()));
            query.Append(" and dia = ");
            query.Append(dia);
            query.Append(" and clave = ");
            query.Append(Cadenas.comillas(clave));
            query.Append(" and timestamp = ");
            query.Append(timestamp);

            db.EjecutarQuery(query.ToString());
        }