0

Hi I am working on a Hotel Reservation Project in ASP.NET. I want to make a filter so that I can search the room available by date (for example between 1 June and 5 June) and after that reserve that room .How can I do to change status of that room to "not available" for that period,so that somebody who want to reserve that room between 15 may and 30 may can do it.Status of the room is boolean value in my database.

ここに画像の説明を入力

4

2 に答える 2

0

値は変化し、'Status'複数のものに基づいているため、部屋のテーブルに対して実際に保存しないでください。

この場合に必要なことは、日付範囲を参照し、予約テーブルに基づいてステータスを返すクエリを作成することです。したがって、ユーザーが日付範囲を選択すると、クエリが実行され、すべての日のリストが利用可能または予約済みのステータスで返されます。

あなたがこれをした場合を想像してみてください

SELECT * FROM Reservation res LEFT JOIN Room ON res.Room_ID = Room.RoomId

部屋のテーブルのステータスが [利用可能] であるため、すべての行で常に [利用可能] が返されます。このステータスが利用不可の場合、部屋が実際に利用可能であっても、すべての行で利用不可が返されます。

于 2012-04-23T10:14:55.317 に答える
0

このようなことを試してください

UIにデータを表示する前に、毎回部屋のテーブルを操作する必要があります

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 に表示するよりも

于 2012-04-23T10:30:36.597 に答える