getItemCount method

Map<String, int> getItemCount({
  1. required DateTime date,
  2. required EDatePickerType datePickerType,
})

Implementation

Map<String, int> getItemCount(
    {required DateTime date, required EDatePickerType datePickerType}) {
  int februaryRange = 28;
  int itemCount = 12;
  if (datePickerType == EDatePickerType.year) {
    itemCount = 110;
  } else if (datePickerType == EDatePickerType.month) {
    itemCount = 12;
    if (date.day > 28 &&
        date.year % 4 == 0 &&
        (date.year % 100 != 0 || date.year % 400 == 0)) {
      februaryRange = 29;
    }
  } else if (datePickerType == EDatePickerType.day) {
    if (date.month == 2) {
      if (date.year % 4 == 0 &&
          (date.year % 100 != 0 || date.year % 400 == 0)) {
        itemCount = 29;
      } else {
        itemCount = 28;
      }
    } else {
      switch (date.month) {
        case 1:
        case 3:
        case 5:
        case 7:
        case 8:
        case 10:
        case 12:
          itemCount = 31;
          break;
        case 4:
        case 6:
        case 9:
        case 11:
          itemCount = 30;
          break;
        default:
      }
    }
  }
  return {
    "itemCount": itemCount,
    "februaryRange": februaryRange,
  };
}