getMinMaxBodyTemperature method
Future<Map<String, int> >
getMinMaxBodyTemperature({
- BodyTemperatureUnits? bodyTemperatureUnits = BodyTemperatureUnits.celsius,
Get min and max body temperature of current user
Implementation
Future<Map<String, int>> getMinMaxBodyTemperature(
{BodyTemperatureUnits? bodyTemperatureUnits =
BodyTemperatureUnits.celsius}) 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 tempUnit = encryption.decrypt(
queryResponse[i][MenstrualCycleDbHelper.columnBodyTemperatureUnit]);
double tempValue = double.parse(encryption.decrypt(
queryResponse[i][MenstrualCycleDbHelper.columnBodyTemperature]));
double temp = 0.0;
if (tempValue > 0) {
if (tempUnit == bodyTemperatureUnits.toString()) {
temp = tempValue;
} else {
if (bodyTemperatureUnits == BodyTemperatureUnits.fahrenheit) {
temp = celsiusToFahrenheit(tempValue);
} else {
temp = fahrenheitToCelsius(tempValue);
}
}
}
if (minValue == 0) {
minValue = temp.toInt();
}
if (temp > 0) {
if (minValue >= temp) {
minValue = temp.toInt();
}
if (maxValue <= temp) {
maxValue = temp.toInt();
}
}
});
return {
'min_temp': minValue,
'max_temp': maxValue,
};
}