initFutureOvulationDay function

dynamic initFutureOvulationDay()

get future prediction ovulation dates

Implementation

initFutureOvulationDay() async {
  final instance = MenstrualCycleWidget.instance!;
  List<String> futureOvulationDays = [];
  int cycleLength = instance.getCycleLength();
  if (instance.getPreviousPeriodDay().isNotEmpty) {
    DateTime nextPeriodDate = CalenderDateUtils.dateFormat
        .parse(instance.getPreviousPeriodDay())
        .add(Duration(days: cycleLength));
    // printLogs("Dates: ${defaultDateFormat.format(nextPeriodDate)}");
    for (int index = 0; index < futureMonthCount; index++) {
      // Ovulation day
      DateTime ovulationDate = nextPeriodDate
          .add(Duration(days: cycleLength))
          .add(const Duration(days: -14));
      futureOvulationDays.add(defaultDateFormat.format(ovulationDate));
      //printLogs("Dates: ${defaultDateFormat.format(ovulationDate)}");
      DateTime newDatetime = nextPeriodDate.add(Duration(days: cycleLength));
      nextPeriodDate = newDatetime;
    }
  }
  return futureOvulationDays;
}