getNextDate method

DateTime? getNextDate(
  1. DateTime fromDate
)

Implementation

DateTime? getNextDate(DateTime fromDate) {
  int? countValue = count;
  if (countValue != null && countValue < 1) {
    return null;
  }

  var startDate = fromDate;
  if (until != null && until!.isBefore(startDate)) {
    return null;
  }

  switch (frequency) {
    case Frequency.SECONDLY:
      startDate = _incrementSeconds(startDate);
      break;
    case Frequency.MINUTELY:
      startDate = _incrementMinutes(startDate);
      break;
    case Frequency.HOURLY:
      startDate = _incrementHours(startDate);
      break;
    case Frequency.DAILY:
      startDate = _incrementDays(startDate);
      break;
    case Frequency.WEEKLY:
      startDate = _incrementWeeks(startDate);
      break;
    case Frequency.MONTHLY:
      startDate = _incrementMonths(startDate);
      break;
    case Frequency.YEARLY:
      startDate = _incrementYears(startDate);
      break;
  }

  if (countValue != null) {
    countValue = countValue - 1;
  }

  if (until != null && startDate.isAfter(until!)) {
    return null;
  }

  return startDate;
}