public IEnumerable Add() // works out what rooms are free and returns them in a Table { DateTime startdate = BookingFrom; DateTime enddate = BookingTo; using (var context = new Hotel_Reservation_SystemEntities()) { var bookings = context.Bookings.ToList() .Where(b => (startdate >= Convert.ToDateTime(b.BookingFrom) && enddate <= Convert.ToDateTime(b.BookingTo) || startdate <= Convert.ToDateTime(b.BookingFrom) && Convert.ToDateTime(b.BookingTo) <= enddate)); if (bookings != null) { var bookingList = bookings.ToList(); var theRooms = context.Rooms.ToList(); FreeRoomDetails = theRooms; for (var i = 0; i < theRooms.Count; i++) { for (var j = 0; j < bookingList.Count; j++) { if (theRooms[i].RoomID == bookingList[j].RoomIDFK) theRooms.Remove(theRooms[i]); } } var dgvRooms = from r in theRooms select new { r.RoomID, r.SingleBeds, r.DoubleBeds, r.Tarrif1Person, r.Tarrif2People, r.TarrifExtraPerson }; // MessageBox.Show("There Are " + Convert.ToInt16(theRooms.Count) + " " + " Rooms Available"); return dgvRooms.ToList(); } } return new List<string>(); }
public void NewGuest() // adds a new guest on click of create booking and links it to the rest of the guests booking { using (var context = new Hotel_Reservation_SystemEntities()) { var bookingID = context.Bookings.Select(b => b.BookingID).ToList().LastOrDefault(); var guest = new Guest { Name = this.Name, Email = this.Email, BookingIDFK = bookingID }; context.Guests.Add(guest); context.SaveChanges(); } }
public void NewBooking() // creates a new booking on click of create booking { using (var context = new Hotel_Reservation_SystemEntities()) { var booking = new Booking(); booking.BookingFrom = this.BookingFrom.ToString("dd-MM-yyyy"); booking.BookingTo = this.BookingTo.ToString("dd-MM-yyyy"); booking.NumOfGuests = this.GuestNumbers; booking.BookingDate = DateTime.Today.Date.ToString("dd-MM-yyyy"); booking.RoomBooked = this.RoomNumandCost; booking.RoomCost = this._roomcost; booking.RoomIDFK = Convert.ToInt32(_roomSelected); context.Bookings.Add(booking); context.SaveChanges(); } }