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"])); }
/// <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); }