//get rooms by id hotel public static List <Room> getRoomByIDHotel(int id) { using (var context = new ValaisBookingEntities()) { return(context.Room.Include("Picture").Include("Hotel").Where(r => r.Hotel.IdHotel == id).ToList()); } }
//get hotel by location public static List <Hotel> getHotelByLocation(string city) { using (var context = new ValaisBookingEntities()) { return(context.Hotel.Where(h => h.Location == city).ToList()); } }
//room by id room public static Room getRoomByIdRoom(int id) { using (var context = new ValaisBookingEntities()) { return(context.Room.Include("Picture").Include("Hotel").Where(r => r.IdRoom == id).Single()); } }
//get hotel by id public static Hotel GetHotelById(int idHotel) { using (var context = new ValaisBookingEntities()) { return(context.Hotel.Where(h => h.IdHotel == idHotel).Single()); } }
//get all hotel public static List <Hotel> getAllHotel() { using (var context = new ValaisBookingEntities()) { return(context.Hotel.Include("Room").ToList <Hotel>()); } }
//get booking by id name public static List <Booking> getBooking(String firsname, String lastname) { using (var context = new ValaisBookingEntities()) { return(context.Booking.Include("Room").Where(b => b.Firstname == firsname && b.Lastname == lastname).ToList()); } }
//cancel a room public static bool cancelBook(int idBook) { using (var context = new ValaisBookingEntities()) { Booking book = (Booking)context.Booking.Where(b => b.IdBooking == idBook).Single(); context.Booking.Remove(book); context.SaveChanges(); return(true); } }
//Check if hotel is busy private static bool hotel70Busy(int idHotel, DateTime cin, DateTime cout) { using (var context = new ValaisBookingEntities()) { float nbRooms = context.Room.Where(r => r.IdHotel == idHotel).ToList().Count(); List <Room> listReservationInDate = context.Booking.Where(res => cin >= res.CheckIn && cin <= res.CheckOut || cout >= res.CheckIn && cout <= res.CheckOut || cin <= res.CheckIn && cout >= res.CheckOut).Select(r => r.Room).ToList(); float busyRooms = listReservationInDate.Where(r => r.IdHotel == idHotel).ToList().Count(); if ((busyRooms / nbRooms) >= 0.7) { return(true); } return(false); } }
//Book a room public static void book(DateTime checkin, DateTime checkout, String firstname, String lastname, decimal price, DateTime date, Room room) { using (var context = new ValaisBookingEntities()) { Booking book = new Booking(); book.CheckIn = checkin; book.CheckOut = checkout; book.Firstname = firstname; book.Lastname = lastname; book.Price = price; book.Date = date; book.IdRoom = room.IdRoom; context.Booking.Add(book); context.SaveChanges(); } }
//get rooms by search public static List <Room> getRoomsByBasicSearch(string city, DateTime dateCheckIn, DateTime dateCheckOut) { using (var context = new ValaisBookingEntities()) { List <Room> listRoomInCity = context.Room.Include("Picture").Include("Hotel").Where(ro => ro.Hotel.Location == city).ToList(); List <Booking> listReservationInDate = context.Booking.Where(res => dateCheckIn >= res.CheckIn && dateCheckIn <= res.CheckOut || dateCheckOut >= res.CheckIn && dateCheckOut <= res.CheckOut || dateCheckIn <= res.CheckIn && dateCheckOut >= res.CheckOut).ToList(); List <Room> finalListRoom = (from room in listRoomInCity where !(from res in listReservationInDate select res.IdRoom).Contains(room.IdRoom) select room).ToList(); finalListRoom = settingPrice(dateCheckIn, dateCheckOut, finalListRoom); return(finalListRoom); } }