updateTime method

Future<bool> updateTime(
  1. int idTime,
  2. TimeTraining? time
)

Método para actualizar un tiempo en la base de datos.

Este método actualiza los datos de un tiempo en la tabla timeTraining utilizando su ID y un objeto TimeTraining con los nuevos valores. Sobretodo para actualizar penalizaciones o comentarios.

Parámetros:

  • idTime: El ID del tiempo que se actualizará.
  • time: Un objeto TimeTraining que contiene los nuevos valores para actualizar.

Retorna:

  • bool: true si la actualización fue exitosa (al menos una fila afectada), false si ocurrió un error o no se actualizó ninguna fila.

Implementation

Future<bool> updateTime(int idTime, TimeTraining? time) async {
  // MAPA CON LOS VALORES A ACTUALIZAR
  try {
    // REALIZAR EL UPDATE
    final result = await supabase
        .from('timetraining')
        .update({
          'idtimetraining': idTime,
          'idsession': time?.idSession,
          'scramble': time?.scramble,
          'timeinseconds': time?.timeInSeconds,
          'comments': time?.comments,
          'penalty': time?.penalty,
        })
        .eq('idtimetraining', idTime)
        .select();

    // DEVUELVE TRUE SI SE ACTUALIZO AL MENOS UNA FILA
    return result.isNotEmpty;
  } catch (e) {
    // RETORNA FALSE Y MUESTRA UN MENSAJE DE ERROR SI FALLA
    DatabaseHelper.logger.e(
        "Error al actualizar la información del time ${time.toString()}: $e");
    return false;
  }
}