getNextOvulationDate method
get Next Predicted Period Date
Implementation
Future<String> getNextOvulationDate() async {
if (_lastPeriodDate.isNotEmpty) {
int cycleLength = getCycleLength();
DateTime nextPeriodDate =
CalenderDateUtils.dateFormat.parse(getPreviousPeriodDay());
DateTime ovulationDate = nextPeriodDate
.add(Duration(days: cycleLength))
.add(const Duration(days: -14));
if (DateTime.now().isAfter(ovulationDate)) {
DateTime nextPeriodDate = CalenderDateUtils.dateFormat
.parse(getPreviousPeriodDay())
.add(Duration(days: cycleLength));
DateTime ovulationDate = nextPeriodDate
.add(Duration(days: cycleLength))
.add(const Duration(days: -14));
return CalenderDateUtils.dateDayFormat(ovulationDate);
} else {
return CalenderDateUtils.dateDayFormat(ovulationDate);
}
// TODO Check if ovulation date is less then current day then return blank
}
return "";
}