updateTime method
- int idTime,
- 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 objetoTimeTraining
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 {
final db = await DatabaseHelper.database;
// MAPA CON LOS VALORES A ACTUALIZAR
try {
// REALIZAR EL UPDATE
final Map<String, dynamic> timeData = {
'idTimeTraining': idTime,
'idSession': time?.idSession,
'scramble': time?.scramble,
'timeInSeconds': time?.timeInSeconds,
'comments': time?.comments,
'penalty': time?.penalty,
};
final result = await db.update('timeTraining', timeData,
where: 'idTimeTraining = ?', whereArgs: [idTime]);
// DEVUELVE TRUE SI SE ACTUALIZO AL MENOS UNA FILA
return result > 0;
} 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;
}
}