countPenalty method
Método para contar cuántos tiempos tienen una penalización específica en una sesión.
Este método cuenta cuántos registros están asociados a una sesión (idSession
)
y tienen una penalización específica (penalty
).
Parámetros:
idSession
: El ID de la sesión sobre la cual se realizará la consulta.penalty
: La penalización que se desea contar ("+2", "DNF").
Retorna:
- Un
int
representando la cantidad de veces que se encuentra la penalización en la sesión indicada. -1
si no se encontró ningún resultado o si ocurrió un error durante la consulta.
Implementation
Future<int> countPenalty(int? idSession, String penalty) async {
final db = await DatabaseHelper.database;
try {
// CONSULTA PARA CONTAR LOS TIEMPOS DE LA SESION QUE TIENEN ESA PENALIZACION
final result = await db.rawQuery(
'SELECT COUNT(*) AS count FROM timeTraining WHERE idSession = ? AND penalty = ?',
[idSession, penalty],
);
// RETORNA EL PRIMER VALOR Y SI ES NULL, RETORNA -1
return Sqflite.firstIntValue(result) ?? -1;
} catch (e) {
// SI OCURRE ALGUN ERROR, MANDA UN MENSAJE Y RETORNA -1
DatabaseHelper.logger.e(
"Error al obtener la cuenta de la penalizacion $penalty de la sesion $idSession");
return -1;
}
}