getAllSymptomsData method

Future<List<UserSymptomsLogs>> getAllSymptomsData()

Return All UserSymptomsLogs for backup

Implementation

Future<List<UserSymptomsLogs>> getAllSymptomsData() async {
  List<UserSymptomsLogs> allUserSymptomsLogs = [];
  final mInstance = MenstrualCycleWidget.instance!;
  final dbHelper = MenstrualCycleDbHelper.instance;
  Database? db = await dbHelper.database;
  String customerId = mInstance.getCustomerId();

  final encryption = Encryption.instance;
  final List<Map<String, dynamic>> queryResponse = await db!.rawQuery(
      "Select * from ${MenstrualCycleDbHelper.tableDailyUserSymptomsLogsData} WHERE ${MenstrualCycleDbHelper.columnCustomerId}='$customerId'");
  List.generate(queryResponse.length, (i) {
    UserSymptomsLogs userSymptomsLogs = UserSymptomsLogs(symptomData: []);
    List<SymptomsData> symptomsDataList = [];
    String userDecryptData = encryption.decrypt(
        queryResponse[i][MenstrualCycleDbHelper.columnUserEncryptData]);

    List<dynamic> jsonData = json.decode(userDecryptData.trim());
    //printMenstrualCycleLogs("jsonData ${jsonData}");
    symptomsDataList.addAll(
        jsonData.map((symptom) => SymptomsData.fromMap(symptom)).toList());

    userSymptomsLogs.meditationTime = encryption.decrypt(
        queryResponse[i][MenstrualCycleDbHelper.columnMeditationTime]);

    userSymptomsLogs.bodyTemperature = encryption.decrypt(
        queryResponse[i][MenstrualCycleDbHelper.columnBodyTemperature]);
    userSymptomsLogs.waterValue = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWater]);
    userSymptomsLogs.weight = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWeight]);
    userSymptomsLogs.weightUnit = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWeightUnit]);
    userSymptomsLogs.sleepTime = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnSleepTime]);
    userSymptomsLogs.waterUnit = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWaterUnit]);
    userSymptomsLogs.bodyTemperatureUnit = encryption.decrypt(
        queryResponse[i][MenstrualCycleDbHelper.columnBodyTemperatureUnit]);
    userSymptomsLogs.notes = encryption
        .decrypt(queryResponse[i][MenstrualCycleDbHelper.columnNotes]);
    userSymptomsLogs.logDate =
        queryResponse[i][MenstrualCycleDbHelper.columnLogDate];
    userSymptomsLogs.cycleDay =
        queryResponse[i][MenstrualCycleDbHelper.columnLogDate];

    userSymptomsLogs.symptomData!.addAll(symptomsDataList);

    allUserSymptomsLogs.add(userSymptomsLogs);
  });

  return allUserSymptomsLogs;
}