Я создаю простое приложение для бронирования комнат собраний. Я хочу написать запрос на объектную структуру, чтобы проверить, является ли данный временной интервал действительным, чтобы не было перекрытия с уже существующими временными интервалами.
, например, для: если уже есть доступные заказы, например, для;в указанный день 10:00 - 14:00 и 15:00 - 17:00. Эти два слота доступны. Если я попытаюсь забронировать новый слот на 10:00 - 12:00 или 09:00 - 11:00, он не должен позволять. Вот мой запрос
public bool SlotAvailable(Item item) {
var result = _context.bookings
.where(booking=>
(item.StartTime >= booking.StartTime && item.StartTime <= booking.EndTime) ||
(item.EndTime >= booking.StartTime && item.EndTime <= booking.EndTime);
return result.Any();
}
Это правильный и эффективный запрос? Кто-нибудь может помочь с этим?
Спасибо