Beispiel #1
0
 private static void llenarDatos(DataRow row, OverlayPuntos puntos, int problemas)
 {
     puntos.timestamp.Add(DataRowParser.ToInt(row["timestamp"]));
     for (int i = 0; i < problemas; i++)
     {
         puntos.problemas[i].Add(DataRowParser.ToFloat(row["puntosP" + (i + 1)]));
     }
     puntos.puntos.Add(DataRowParser.ToFloat(row["puntosD"]));
 }
Beispiel #2
0
        /// <summary>
        /// Obtiene la lista de resultados de un usuario en particular, de una olimpiada en particular
        /// </summary>
        /// <returns></returns>
        public static OverlayPuntos cargarResultados(string omi, TipoOlimpiada tipoOlimpiada, string clave, int dia, int problemas)
        {
            OverlayPuntos puntos = new OverlayPuntos();

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

            query.Append(" select * from detallepuntos ");
            query.Append(" where clase = ");
            query.Append(Cadenas.comillas(tipoOlimpiada.ToString().ToLower()));
            query.Append(" and olimpiada = ");
            query.Append(Cadenas.comillas(omi));
            query.Append(" and clave = ");
            query.Append(Cadenas.comillas(clave));
            query.Append(" and dia = ");
            query.Append(dia);
            query.Append(" order by timestamp asc ");

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

            for (int i = 0; i < table.Rows.Count; i++)
            {
                llenarDatos(table.Rows[i], puntos, problemas);
            }

            if (puntos.timestamp[0] != 0)
            {
                puntos.timestamp.Insert(0, 0);
                for (int i = 0; i < problemas; i++)
                {
                    puntos.problemas[i].Insert(0, 0);
                }
                puntos.puntos.Insert(0, 0);
            }

            puntos.problemas = null;
            return(puntos);
        }