exec method

  1. @override
Future<List<FitnessMastersModel>> exec(
  1. int fitnessId
)
override

パラメータの運動idで指定した運動マスターを返す

parameters fitnessId 運動ID return FitnessMastersModel 運動マスター

Implementation

@override
Future<List<FitnessMastersModel>> exec(
  int fitnessId,
) async {
  try {
    final db = await _openFitnessMasters.exec();
    final maps = await db.query(
      FitnessMastersModelNames.tableName.name,
      where: '${FitnessMastersModelNames.fitnessId.name} = ?',
      whereArgs: [
        fitnessId,
      ],
    );
    db.close();

    return List.generate(maps.length, (index) {
      return FitnessMastersModel(
        masterVersion: maps[index]
            [FitnessMastersModelNames.masterVersion.name] as String,
        fitnessEvaluationThresholdVersion: maps[index][
            FitnessMastersModelNames
                .fitnessEvaluationThresholdVersion.name] as String,
        fitnessMasterVersion: maps[index]
            [FitnessMastersModelNames.fitnessMasterVersion.name] as String,
        uid: maps[index][FitnessMastersModelNames.uid.name] as String,
        fitnessId:
            maps[index][FitnessMastersModelNames.fitnessId.name] as int,
        mets: maps[index][FitnessMastersModelNames.mets.name] as double,
        movieFileName: maps[index]
            [FitnessMastersModelNames.movieFileName.name] as String,
        descriptionTimeSeconds: maps[index]
            [FitnessMastersModelNames.descriptionTimeSeconds.name] as int,
      );
    });
  } on DatabaseException catch (error, stackTrace) {
    throw _sqfliteErrorHandler.handleSqfliteError(
      error,
      stackTrace,
      'GET ${FitnessMastersModelNames.tableName.name} fitnessId: $fitnessId',
    );
  } catch (error, stackTrace) {
    throw _dbErrorHandler.handleUnknownError(
      error,
      stackTrace,
    );
  }
}