getSleepLog method
get user's sleep data
Implementation
Future<List<SleepData>> getSleepLog(
{required DateTime? startDate,
required DateTime? endDate,
int pageNumber = 1,
int itemsPerPage = 7}) async {
List<SleepData> sleepListData = [];
List<UserLogReportData> usersLogDataList = await getSymptomsLogReport(
startDate: startDate,
endDate: endDate,
isRequiredPagination: true,
itemsPerPage: itemsPerPage,
pageNumber: pageNumber);
for (int i = 0; i < usersLogDataList.length; i++) {
SleepData sleepData = SleepData();
UserLogReportData logReportData = usersLogDataList[i];
List<String> time = logReportData.sleepTime!.split("T");
List<String> sleepBedTime = time[0].split(":");
List<String> sleepWakeUpTime = time[1].split(":");
int sleepBedTimeHrs = int.parse(sleepBedTime[0]);
int sleepBedTimeMin = int.parse(sleepBedTime[1]);
int sleepWakeUpTimeHrs = int.parse(sleepWakeUpTime[0]);
int sleepWakeUpTimeMin = int.parse(sleepWakeUpTime[1]);
if (sleepBedTimeHrs > sleepWakeUpTimeHrs) {
sleepWakeUpTimeHrs =
sleepBedTimeHrs + (23 - sleepBedTimeHrs) + sleepWakeUpTimeHrs;
}
sleepData.sleepBedTime =
double.parse("$sleepBedTimeHrs.$sleepBedTimeMin");
sleepData.wakeUpTime =
double.parse("$sleepWakeUpTimeHrs.$sleepWakeUpTimeMin");
/*printLogs("sleepBedTime ${sleepData.sleepBedTime}");
printLogs("wakeUpTime ${sleepData.wakeUpTime}");*/
sleepData.dateTime =
CalenderDateUtils.graphDateFormat(logReportData.logDate!);
if (sleepData.sleepBedTime! > 0) {
sleepListData.add(sleepData);
}
}
return sleepListData;
}