checkSlotAvailablity function

dynamic checkSlotAvailablity(
  1. DateTime startTime,
  2. DateTime endTime,
  3. List<Map<String, dynamic>> hideSlots
)

Implementation

checkSlotAvailablity(DateTime startTime, DateTime endTime,
    List<Map<String, dynamic>> hideSlots) {
  String slotString = makeSlotString(startTime, endTime);
  var slots = calculateSlots([slotString]);
  bool availablity = true;
  for (int i = 0; i < slots.length; i++) {
    var matchedSlot = hideSlots.singleWhere(
      (element) =>
          element['i'] == slots[i]['i'] &&
          (element['firstHalf'] == slots[i]['firstHalf'] ||
              element['secondHalf'] == slots[i]['secondHalf']),
      orElse: () => {},
    );
    if (matchedSlot.isNotEmpty) {
      availablity = false;
      break;
    }
  }

  return availablity;
}