getMinMaxMeditationTime method

Future<Map<String, double>> getMinMaxMeditationTime()

Get meditation time current user

Implementation

Future<Map<String, double>> getMinMaxMeditationTime() async {
  final dbHelper = MenstrualCycleDbHelper.instance;
  Database? db = await dbHelper.database;
  double minValue = 0;
  double maxValue = 0;
  final mInstance = MenstrualCycleWidget.instance!;
  String customerId = mInstance.getCustomerId();

  final List<Map<String, dynamic>> queryResponse = await db!.rawQuery(
      "Select * from ${MenstrualCycleDbHelper.tableDailyUserSymptomsLogsData} WHERE ${MenstrualCycleDbHelper.columnCustomerId}='$customerId'");
  final encryption = Encryption.instance;

  List.generate(queryResponse.length, (i) {
    double meditationTime = double.parse(encryption.decrypt(
        queryResponse[i][MenstrualCycleDbHelper.columnMeditationTime]));
    if (meditationTime > 0) {
      if (minValue == 0) {
        minValue = meditationTime;
      }
      if (meditationTime > 0) {
        if (minValue >= meditationTime) {
          minValue = meditationTime;
        }
        if (maxValue <= meditationTime) {
          maxValue = meditationTime;
        }
      }
    }
  });

  return {
    'min_value': minValue,
    'max_value': maxValue,
  };
}