Ejemplo n.º 1
0
        /// <summary>
        /// Regresa la lista de resultados para el problema seleccionado
        /// </summary>
        /// <param name="olimpiada">La olimpiada del problema</param>
        /// <param name="tipo">El tipo de olimpiada</param>
        /// <param name="dia">El dia del problema</param>
        /// <param name="numero">El id del problema</param>
        /// <returns>La lista ordenada de resultados</returns>
        public static List <float> obtenerResultadosParaProblema(string olimpiada, TipoOlimpiada tipo, int dia, int numero)
        {
            List <float>  resultados = new List <float>();
            Acceso        db         = new Acceso();
            StringBuilder query      = new StringBuilder();
            string        puntos     = "puntosD" + dia + "P" + numero;

            query.Append(" select ");
            query.Append(puntos);
            query.Append(" from resultados where olimpiada = ");
            query.Append(Cadenas.comillas(olimpiada));
            query.Append(" and clase = ");
            query.Append(Cadenas.comillas(tipo.ToString().ToLower()));
            query.Append(" order by ");
            query.Append(puntos);
            query.Append(" asc ");

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

            foreach (DataRow r in table.Rows)
            {
                resultados.Add(DataRowParser.ToStrictFloat(r[0]));
            }

            return(resultados);
        }
Ejemplo n.º 2
0
 private void llenarDatos(DataRow datos)
 {
     olimpiada     = DataRowParser.ToString(datos["olimpiada"]);
     tipoOlimpiada = DataRowParser.ToTipoOlimpiada(datos["clase"]);
     dia           = DataRowParser.ToInt(datos["dia"]);
     numero        = DataRowParser.ToInt(datos["numero"]);
     nombre        = DataRowParser.ToString(datos["nombre"]);
     url           = DataRowParser.ToString(datos["url"]);
     media         = DataRowParser.ToStrictFloat(datos["media"]);
     perfectos     = DataRowParser.ToInt(datos["perfectos"]);
     ceros         = DataRowParser.ToInt(datos["ceros"]);
     mediana       = DataRowParser.ToStrictFloat(datos["mediana"]);
     casos         = DataRowParser.ToString(datos["casos"]);
     codigo        = DataRowParser.ToString(datos["codigo"]);
     solucion      = DataRowParser.ToString(datos["solucion"]);
 }
Ejemplo n.º 3
0
        private void llenarDatos(DataRow datos)
        {
            numero                       = DataRowParser.ToString(datos["numero"]);
            tipoOlimpiada                = DataRowParser.ToTipoOlimpiada(datos["clase"]);
            ciudad                       = DataRowParser.ToString(datos["ciudad"]);
            pais                         = DataRowParser.ToString(datos["pais"]);
            año                          = DataRowParser.ToStrictFloat(datos["año"]);
            inicio                       = DataRowParser.ToDateTime(datos["inicio"]);
            fin                          = DataRowParser.ToDateTime(datos["fin"]);
            video                        = DataRowParser.ToString(datos["video"]);
            poster                       = DataRowParser.ToString(datos["poster"]);
            estados                      = DataRowParser.ToInt(datos["estados"]);
            participantes                = DataRowParser.ToInt(datos["participantes"]);
            datosPublicos                = DataRowParser.ToBool(datos["datospublicos"]);
            relacion                     = DataRowParser.ToString(datos["relacion"]);
            reporte                      = DataRowParser.ToString(datos["reporte"]);
            problemasDia1                = DataRowParser.ToInt(datos["problemasDia1"]);
            problemasDia2                = DataRowParser.ToInt(datos["problemasDia2"]);
            mostrarResultadosPorDia      = DataRowParser.ToBool(datos["mostrarResultadosPorDia"]);
            mostrarResultadosPorProblema = DataRowParser.ToBool(datos["mostrarResultadosPorProblema"]);
            mostrarResultadosTotales     = DataRowParser.ToBool(datos["mostrarResultadosTotales"]);
            puntosDesconocidos           = DataRowParser.ToBool(datos["puntosDesconocidos"]);
            alsoOmips                    = DataRowParser.ToBool(datos["alsoOmips"]);
            alsoOmipsOnline              = DataRowParser.ToBool(datos["alsoOmipsOnline"]);
            noMedallistasConocidos       = DataRowParser.ToBool(datos["noMedallistasConocidos"]);
            puntosDetallados             = DataRowParser.ToBool(datos["puntosDetallados"]);
            registroActivo               = DataRowParser.ToBool(datos["registroActivo"]);
            diplomasOnline               = DataRowParser.ToBool(datos["diplomasOnline"]);
            esOnline                     = DataRowParser.ToBool(datos["esOnline"]);
            registroSedes                = DataRowParser.ToBool(datos["registroSedes"]);
            ordenarPorPuntos             = DataRowParser.ToBool(datos["ordenarPorPuntos"]);

            claveEstado = DataRowParser.ToString(datos["estado"]);
            Estado estado = Estado.obtenerEstadoConClave(claveEstado);

            if (estado != null)
            {
                nombreEstado = estado.nombre;
            }

            claveEscuela = DataRowParser.ToInt(datos["escuela"]);
            Institucion institucion = Institucion.obtenerInstitucionConClave(claveEscuela);

            if (institucion != null)
            {
                nombreEscuela         = institucion.nombreCorto;
                escuelaURL            = institucion.nombreURL;
                nombreEscuelaCompleto = institucion.nombre;
            }

            if (inicio.Year > 1990)
            {
                if (inicio.Month == fin.Month)
                {
                    friendlyDate = "Del " + inicio.Day +
                                   " al " + Fechas.friendlyString(fin);
                }
                else
                {
                    friendlyDate = "Del " + Fechas.friendlyString(inicio) +
                                   " al " + Fechas.friendlyString(fin);
                }
            }

            if (Archivos.existeArchivo(Archivos.Folder.OLIMPIADAS,
                                       numero + ".png"))
            {
                logo = numero + ".png";
            }
            else
            {
                logo = Archivos.OMI_LOGO;
            }

            if (numero != TEMP_CLAVE &&
                (tipoOlimpiada == TipoOlimpiada.OMIP ||
                 tipoOlimpiada == TipoOlimpiada.OMIS ||
                 tipoOlimpiada == TipoOlimpiada.OMIPO ||
                 tipoOlimpiada == TipoOlimpiada.OMISO))
            {
                omisActualNumber = (Int32.Parse(numero) - OMIS_SIN_OMIPS).ToString();
            }

            datosGenerales = Problema.obtenerProblema(numero, tipoOlimpiada, 0, 0);
        }