initTimeslots method

void initTimeslots(
  1. int durationInMinutes,
  2. DateTime selectedDate,
  3. LMDataSourceConfig? timeSlotsDataSourceConfig
)

Implementation

void initTimeslots(int durationInMinutes, DateTime selectedDate,
    LMDataSourceConfig? timeSlotsDataSourceConfig) {
  _timeslots = [];
  this._selectedIndex = null;
  this.durationInMinutes = durationInMinutes;
  this.timeSlotsDataSourceConfig = timeSlotsDataSourceConfig;
  this.selectedDate = selectedDate;

  DateTime tempTime = DateUtils.dateOnly(selectedDate);
  DateTime nextDate =
      DateTime(tempTime.year, tempTime.month, tempTime.day + 1);

  do {
    DateTime timeSlot = DateTime(tempTime.year, tempTime.month, tempTime.day,
        tempTime.hour, tempTime.minute);

    _timeslots.add(TimeSlot(timeSlot, durationInMinutes, true));

    tempTime = DateTime.fromMillisecondsSinceEpoch(
        timeSlot.millisecondsSinceEpoch + durationInMinutes * 60 * 1000);
  } while (nextDate.day != tempTime.day);

  this._timeslots = _timeslots;

  notifyListeners();
  this.updateTimeSlots();
}