getDrinkWaterLog method

Future<List<WaterData>> getDrinkWaterLog({
  1. required DateTime? startDate,
  2. required DateTime? endDate,
  3. WaterUnits? waterUnits = WaterUnits.ml,
  4. int pageNumber = 1,
  5. int itemsPerPage = 7,
})

get user's drink water logs

Implementation

Future<List<WaterData>> getDrinkWaterLog(
    {required DateTime? startDate,
    required DateTime? endDate,
    WaterUnits? waterUnits = WaterUnits.ml,
    int pageNumber = 1,
    int itemsPerPage = 7}) async {
  List<WaterData> waterDataListData = [];

  List<UserLogReportData> usersLogDataList = await getSymptomsLogReport(
      startDate: startDate,
      endDate: endDate,
      isRequiredPagination: true,
      itemsPerPage: itemsPerPage,
      pageNumber: pageNumber);
  for (int i = 0; i < usersLogDataList.length; i++) {
    WaterData waterData = WaterData();
    UserLogReportData logReportData = usersLogDataList[i];
    int waterValue = int.parse(logReportData.waterValue!);
    if (logReportData.waterUnit!.isNotEmpty && waterValue > 0) {
      //printMenstrualCycleLogs(
      //    "logReportData.waterValue ${logReportData.waterValue}");

      double drinkWaterValue = double.parse(logReportData.waterValue!);

      // printLogs("logReportData.waterUnit ${logReportData.waterUnit}");
      double drinkWater = 0.0;
      if (logReportData.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);
        }
      }
      //printLogs("drinkWater =====$drinkWater");
      waterData.waterValue = drinkWater;
      waterData.dateTime =
          CalenderDateUtils.graphDateFormat(logReportData.logDate!);
      waterData.waterUnit = waterUnits.toString();

      waterDataListData.add(waterData);
    }
  }
  //  printLogs("waterDataListData ${waterDataListData.length}");
  return waterDataListData;
}