getMinMaxSleepTimeLog method
Get min and max sleep time log of current user
Implementation
Future<Map<String, int>> getMinMaxSleepTimeLog() async {
final dbHelper = MenstrualCycleDbHelper.instance;
Database? db = await dbHelper.database;
int minValue = 0;
int 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) {
String sleepTime = encryption
.decrypt(queryResponse[i][MenstrualCycleDbHelper.columnSleepTime]);
List<String> time = sleepTime.split("T");
List<String> sleepBedTime = time[0].split(":");
List<String> sleepWakeUpTime = time[1].split(":");
int sleepBedTimeHrs = int.parse(sleepBedTime[0]);
int sleepWakeUpTimeHrs = int.parse(sleepWakeUpTime[0]);
if (sleepBedTimeHrs > sleepWakeUpTimeHrs) {
sleepWakeUpTimeHrs =
sleepBedTimeHrs + (23 - sleepBedTimeHrs) + sleepWakeUpTimeHrs;
}
// printLogs("sleepWakeUpTimeHrs $sleepWakeUpTimeHrs");
if (minValue >= sleepBedTimeHrs) {
minValue = sleepBedTimeHrs;
}
if (maxValue <= sleepWakeUpTimeHrs) {
maxValue = sleepWakeUpTimeHrs;
}
});
//printMenstrualCycleLogs("min_temp $minValue");
//printMenstrualCycleLogs("max_temp $maxValue");
return {
'min_temp': minValue,
'max_temp': maxValue,
};
}