initFuturePeriodDay function

dynamic initFuturePeriodDay()

get future prediction due periods dates of next period

Implementation

initFuturePeriodDay() async {
  final instance = MenstrualCycleWidget.instance!;

  List<String> futurePeriodDays = [];
  int cycleLength = instance.getCycleLength() - 1;
  int periodLength = instance.getPeriodDuration();
  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++) {
      for (int i = 1; i <= periodLength; i++) {
        DateTime addDate = nextPeriodDate.add(Duration(days: i));
        // printLogs("Dates: ${defaultDateFormat.format(addDate)}");
        futurePeriodDays.add(defaultDateFormat.format(addDate));
        // futurePeriodDays
      }
      DateTime newDatetime = nextPeriodDate.add(Duration(days: cycleLength));
      nextPeriodDate = newDatetime;
    }
  }
  return futurePeriodDays;
}