Привет Я работаю над проектом резервирования отелей в ASP.NET. Я хочу сделать фильтр, чтобы я мог искать комнату, доступную по дате (например, с 1 июня по 5 июня), и после этого зарезервировать эту комнату. Как я могу сделать, чтобы изменить статус этой комнаты на «недоступно» для этот период, так что кто-то, кто хочет зарезервировать эту комнату от 15 мая до 30 лет, может это сделать. Состояние моей комнаты является логическим значением в моей базе данных.change boolean value
ответ
попробовать что-то вроде этого
перед отображением данных на пользовательском интерфейсе, вы должны управлять вашей гостинный стол каждый раз
var objrum = rum.toList().asQueryable(); // fetches all the rooms
var objreservation = reservation.toList().asQueryable(); // fetches all reservation
foreach(var res in objreservation)
{
foreach(var rum in objrum)
{
if(res.roomid == rum.rumid)
{
if(res.checkindate >= currentcheckindate && res.checkoutdate <= currentcheckoutdate)
{
rum.status = false // set to unavailable
}
else
rum.status = true // set to available
}
}
}
чем выборки данных из номера таблицы для отображения на вашем UI
делать изменения в запросе, так как ваше использование в коде может быть linq для объекта или linq к объекту ... –
Ваш пример может быть свернут в меньшее выражение LINQ/Lambda. – James
yuppp, вы правы ... –
The 'Status'
изменения стоимости и основывается на нескольких вещах, так что вы не должны действительно сохранить его на вашем столе номер.
Что вам нужно сделать в этом случае - написать запрос, который смотрит на диапазон дат, а затем возвращает статус на основе вашей таблицы бронирования. Таким образом, пользователь выбирает диапазон дат и запрос выполняется и возвращает список всех дней со статусом доступных или забронированных.
Представьте себе, если вы сделали это
SELECT * FROM Reservation res LEFT JOIN Room ON res.Room_ID = Room.RoomId
Ваш номер таблица имеет статус Доступный поэтому он всегда будет возвращаться для каждой строки. Если у вас этот статус недоступен, он будет недоступен для каждой строки, даже если комната действительно доступна.
что вы до сих пор пытались? –
Пока я показываю всю комнату с имеющимся статусом. Но статус задается, когда я представляю комнату в базе данных. Но я не знаю, как изменить стадию, и если можно установить статус комнаты как истинный для периода и затем false для другого периода – jonny
Вы можете обработать это для цели пользовательского интерфейса, не используя поле статуса в БД, только дату проверки и дату проверки ... –