getIdByTime method

Future<int> getIdByTime(
  1. String scramble,
  2. int? idSession
)

Método para obtener el ID de un tiempo a partir del scramble y el ID de la sesión.

Este método busca un tiempo en la base de datos utilizando el scramble y el ID de la sesión.

Parámetros:

  • scramble: El scramble utilizado en la sesión.
  • idSession: El ID de la sesión en la que se realizó el tiempo.

Retorna:

  • int: El ID del tiempo encontrado o -1 si no se encuentra.

Implementation

Future<int> getIdByTime(String scramble, int? idSession) async {
  final db = await DatabaseHelper.database;
  int idTime = -1; // ID DEL TIEMPO RETORNADO
  try {
    // REALIZA LA CONSULTA A LA BASE DE DATOS
    final result = await db.query(
      'timeTraining',
      where: 'scramble = ? AND idSession = ?',
      whereArgs: [scramble, idSession],
    );

    if (result.isNotEmpty) {
      // RETORNA EL ID DEL TIEMPO OBTENIDO
      idTime = result.first['idTimeTraining'] as int;
    } else {
      // SI NO ENCUENTRA EL TIEMPO, DEVUELVE UN -1
      DatabaseHelper.logger.w(
          "No se encontró ningún tiempo con ese scramble: $scramble y el id de sesión: $idSession");
    } // SI LA CONSULTA NO ES NULA Y DEVUELVE -1

    return idTime; // RETORNA EL IDTIME
  } catch (e) {
    // SI OCURRE UN ERROR MUESTRA UN MENSAJE DE ERROR
    DatabaseHelper.logger.e(
        "Error al obtener el tiempo por su scramble: $scramble y el id de sesión: $idSession");
    // RETORNA -1 EN CASO DE ERROR
    return idTime;
  }
}