checkTimeIsOverlapping static method

bool checkTimeIsOverlapping(
  1. DateTimeRange<DateTime> meeting,
  2. List<DateTimeRange<DateTime>> availableSlots,
  3. List<DateTimeRange<DateTime>> blockedSlots,
  4. Duration bufferTime,
  5. DateTime selectedDate,
)

Implementation

static bool checkTimeIsOverlapping(
    DateTimeRange meeting,
    List<DateTimeRange> availableSlots,
    List<DateTimeRange> blockedSlots,
    Duration bufferTime,
    DateTime selectedDate) {
  bool isOverlapping = false;

  List<DateTimeRange> mergedSlots = blockedSlots.isNotEmpty
      ? adjustAvailableSlots(
          availableSlots, blockedSlots, bufferTime, selectedDate)
      : availableSlots;
  for (var mergedSlot in mergedSlots) {
    if (mergedSlot.timeIsValid(meeting)) {
      isOverlapping = true;
      break;
    }
  }
  return isOverlapping;
}