getCurrentPeriodDay method

Future<int> getCurrentPeriodDay()

get current period day

Implementation

Future<int> getCurrentPeriodDay() async {
  int currentPeriodDay = 0;
  if (_lastPeriodDate.isNotEmpty) {
    DateTime lastPeriodDate = DateTime.parse(getPreviousPeriodDay());
    DateTime expEndPeriodDate =
        lastPeriodDate.add(Duration(days: getPeriodDuration()));
    DateTime today = DateTime.now();

    if (today.isAfter(lastPeriodDate) && today.isBefore(expEndPeriodDate)) {
      currentPeriodDay = DateTime.now().difference(lastPeriodDate).inDays + 1;
    } else if (today.isAtSameMomentAs(lastPeriodDate) ||
        today.isAtSameMomentAs(expEndPeriodDate)) {
      currentPeriodDay =
          (DateTime.now().difference(lastPeriodDate).inDays) + 1;
    }
  }

  return currentPeriodDay;
}