getListFromExerciseId method

Future<List<ExerciseEvaluationModel>> getListFromExerciseId(
  1. {required int exerciseId}
)

運動Idから運動評価データを取得する

Implementation

Future<List<ExerciseEvaluationModel>> getListFromExerciseId({
  required int exerciseId,
}) async {
  try {
    final db = await _localDatabaseHelper.openExerciseEvaluationDb();

    final result = await db.query(
      ExerciseEvaluationModelName.tableName.name,
      where: '${ExerciseEvaluationModelName.exerciseId.name} = ?',
      whereArgs: [exerciseId],
      // 状態IDの昇順で取得
      orderBy: '${ExerciseEvaluationModelName.statusId.name} ASC',
    );

    db.close();

    if (result.isEmpty) {
      throw RepositoryException(
        RepositoryErrorType.notFound,
        RepositoryErrorType.notFound.message,
      );
    }

    final exerciseEvaluationModels = result
        .map(
          (json) => ExerciseEvaluationModel.fromJson(json),
        )
        .toList();

    return exerciseEvaluationModels;
  } on RepositoryException catch (_) {
    rethrow;
  } on DatabaseException catch (error, stackTrace) {
    throw _repositoryErrorHandler.handleSqfliteError(
      error,
      stackTrace,
      ExerciseEvaluationModelName.tableName,
    );
  } catch (error, stackTrace) {
    throw _repositoryErrorHandler.handleUnknownError(error, stackTrace);
  }
}