getMinMaxDrinkWater method
Get min and max drink water of current user
Implementation
Future<Map<String, double>> getMinMaxDrinkWater(
{WaterUnits? waterUnits = WaterUnits.ml}) 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) {
String waterUnit = encryption
.decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWaterUnit]);
double drinkWaterValue = double.parse(encryption
.decrypt(queryResponse[i][MenstrualCycleDbHelper.columnWater]));
double drinkWater = 0.0;
if (drinkWaterValue > 0) {
if (waterUnit == waterUnits.toString()) {
drinkWater = drinkWaterValue;
} else {
if (waterUnits == WaterUnits.liters) {
drinkWater = millilitersToLiters(drinkWaterValue);
} else if (waterUnits == WaterUnits.cups) {
drinkWater = millilitersToUSCups(drinkWaterValue);
} else if (waterUnits == WaterUnits.flOz) {
drinkWater = millilitersToUSFluidOunces(drinkWaterValue);
} else if (waterUnits == WaterUnits.imperialGallons) {
drinkWater = millilitersToImperialGallons(drinkWaterValue);
} else if (waterUnits == WaterUnits.usGallon) {
drinkWater = millilitersToUSGallons(drinkWaterValue);
}
}
}
if (minValue == 0) {
minValue = drinkWater;
}
if (drinkWater > 0) {
if (minValue >= drinkWater) {
minValue = drinkWater;
}
if (maxValue <= drinkWater) {
maxValue = drinkWater;
}
}
});
return {
'min_value': minValue,
'max_value': maxValue,
};
}