// displays Guest + booking details from the database in the Guests + Booking Form
        public static IEnumerable BookingandGuests()
        {
            using (var context = new Hotel_Reservation_System())
            {
                var bookingandguests = from b in context.Bookings
                    join g in context.Guests
                        on b.BookingID equals g.BookingIDFK
                    where b.CheckedOut == null
                    select new
                    {
                        g.GuestID,
                        g.Name,
                        g.Email,
                        b.BookingID,
                        b.NumOfGuests,
                        b.RoomBooked,
                        b.BookingFrom,
                        b.BookingTo,
                        b.RoomCost,
                        b.CheckedIn

                    };

                return bookingandguests.ToList();

            }
        }
        public static void InsertCheckin(int bookingid) // Inserts all details into the database when create booking is clicked
        {
            using (var context = new Hotel_Reservation_System())
            {
                var checkin = from b in context.Bookings where b.BookingID == bookingid select b;

                var booking = checkin.FirstOrDefault();

                if (booking.BookingFrom == DateTime.Today.ToString("dd/MM/yyyy"))
                {
                    booking.CheckedIn = DateTime.Now.ToString("dd/MM/yyyy");
                    context.SaveChanges();
                }
                if (DateTime.Today > Convert.ToDateTime(booking.BookingFrom))
                {
                    MessageBox.Show("Guests arrived too late, Please make a new booking.");
                    //you cannot checkin Late
                }

                if (DateTime.Today < Convert.ToDateTime(booking.BookingFrom))
                {
                    MessageBox.Show("Please Come back on " + booking.BookingFrom + " You Can't check in Guests early!");
                }
                //you cannot check in early
            }
        }
Example #3
0
        public static IEnumerable BookingandGuests() // displays Guest + booking details from the database in the Guests + Booking Form
        {
            using (var context = new Hotel_Reservation_System())
            {
                var bookingandguests = from b in context.Bookings
                                       join g in context.Guests
                                       on b.BookingID equals g.BookingIDFK
                                       where b.CheckedOut == null
                                       select new
                {
                    g.GuestID,
                    g.Name,
                    g.Email,
                    b.BookingID,
                    b.NumOfGuests,
                    b.RoomBooked,
                    b.BookingFrom,
                    b.BookingTo,
                    b.RoomCost,
                    b.CheckedIn
                };

                return(bookingandguests.ToList());
            }
        }
Example #4
0
        public static void DeleteRoom(string ID) // Delete Rooms part of CRUD
        {
            var roomdelete = Convert.ToInt32(ID);

            if (
                MessageBox.Show("Do you REALLY want to delete Room " + roomdelete + "?", "Delete Record",
                                MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    int RoomID = Convert.ToInt32(ID);
                    var room   = (from r in context.Rooms where r.RoomID == RoomID select r).SingleOrDefault();

                    context.Rooms.Remove(room);
                    context.SaveChanges();
                }
            }

            catch (Exception)
            {
                MessageBox.Show("Room has already been deleted or another error has occured");
            }
        }
Example #5
0
        public static void DeleteGuest(string Name) // Delete Guest Part of CRUD
        {
            var namedelete = Name;

            if (
                MessageBox.Show("Do you REALLY want to delete " + namedelete + "?", "Delete Record",
                                MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    var name  = Name;
                    var Guest = (from g in context.Guests where g.Name == name select g).SingleOrDefault();

                    context.Guests.Remove(Guest);
                    context.SaveChanges();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Guest has already been deleted or another error has occured");
            }
        }
Example #6
0
 public static IEnumerable GuestandBookingHistory() // displays the history of who has checked out in the history Form
 {
     using (var context = new Hotel_Reservation_System())
     {
         var history = from h in context.HistoryViews
                       where h.BookingFrom == h.CheckedIn
                       select h;
         return(history.ToList());
     }
 }
Example #7
0
        public static void UpdateGuests(string Name, string Email, int GuestID) // Update Guests part of CRUD
        {
            using (var context = new Hotel_Reservation_System())
            {
                var UpdateGuests = from g in context.Guests
                                   where g.GuestID == GuestID
                                   select g;
                var guests = UpdateGuests.FirstOrDefault();

                guests.Name  = Name;
                guests.Email = Email;
                context.SaveChanges();
            }
        }
        public static void InsertBilling(int GuestID, int Wifi, int Bar, int Room, int Total)// inserts all the costs into the billing table of the database on the click of checkout
        {
            using (var context = new Hotel_Reservation_System())
            {
                var billing = new Billing();

                billing.GuestIDFK   = GuestID;
                billing.WifiCharge  = Wifi;
                billing.BarCharge   = Bar;
                billing.RoomCharge  = Room;
                billing.TotalCharge = Total;
                context.Billings.Add(billing);
                context.SaveChanges();
            }
        }
Example #9
0
        public static void InsertGuest(string FN, string LN, string Email, int bookingIDFK)
        // inserts guests details into database on click of Create Booking
        {
            using (var context = new Hotel_Reservation_System())
            {
                var Guests = new Guest();


                Guests.Name        = FN + " " + LN;
                Guests.Email       = Email;
                Guests.BookingIDFK = bookingIDFK;
                context.Guests.Add(Guests);
                context.SaveChanges();
                MessageBox.Show("Booking Successfully Created!");
            }
        }
Example #10
0
        public static void UpdateBookings(string Room, string Guests, string BookingFrom, string BookingTo, int BookingID) // Update Booking part of CRUD
        {
            using (var context = new Hotel_Reservation_System())
            {
                var UpdateBookings = from b in context.Bookings
                                     where b.BookingID == BookingID
                                     select b;
                var bookings = UpdateBookings.FirstOrDefault();

                bookings.RoomBooked  = Room;
                bookings.NumOfGuests = Guests;
                bookings.BookingFrom = BookingFrom;
                bookings.BookingTo   = BookingTo;
                context.SaveChanges();
            }
        }
        public static IEnumerable Add(DateTime startdate, DateTime enddate) // works out what rooms are free and returns them in a data grid view
        {
            using (var context = new Hotel_Reservation_System())

            {
                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>());
        }
Example #12
0
 public static void AddRoom(string roomID, string SingleBeds, string DoubleBeds, string Tarrif1person, string Tarrif2People, string TarrifExtraPerson)
 // Adds a room on click of add Button in the Rooms Form as long as all text boxes are full
 {
     using (var context = new Hotel_Reservation_System())
     {
         var rooms = new Room();
         rooms.RoomID            = Convert.ToInt32(roomID);
         rooms.SingleBeds        = SingleBeds;
         rooms.DoubleBeds        = DoubleBeds;
         rooms.Tarrif1Person     = Tarrif1person;
         rooms.Tarrif2People     = Tarrif2People;
         rooms.TarrifExtraPerson = TarrifExtraPerson;
         context.Rooms.Add(rooms);
         context.SaveChanges();
         MessageBox.Show("Room Added Successfully!");
     }
 }
        // Adds a room on click of add Button in the Rooms Form as long as all text boxes are full
        public static void AddRoom(string roomID, string SingleBeds, string DoubleBeds, string Tarrif1person, string Tarrif2People, string TarrifExtraPerson)
        {
            using (var context = new Hotel_Reservation_System())
            {
                var rooms = new Room();
                rooms.RoomID = Convert.ToInt32(roomID);
                rooms.SingleBeds = SingleBeds;
                rooms.DoubleBeds = DoubleBeds;
                rooms.Tarrif1Person = Tarrif1person;
                rooms.Tarrif2People = Tarrif2People;
                rooms.TarrifExtraPerson = TarrifExtraPerson;
                context.Rooms.Add(rooms);
                context.SaveChanges();
                MessageBox.Show("Room Added Successfully!");

            }
        }
        public static List<Room> FreeRoomDetails; // a list of all the free rooms & their details to be used for pricing

        #endregion Fields

        #region Methods

        // works out what rooms are free and returns them in a data grid view
        public static IEnumerable Add(DateTime startdate, DateTime enddate)
        {
            using (var context = new Hotel_Reservation_System())

            {
                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>();
        }
Example #15
0
        public static void DeleteBooking(int ID) // Delete Booking Part of CRUD
        {
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    int BookingID = ID;
                    var Booking   = (from b in context.Bookings where b.BookingID == BookingID select b).SingleOrDefault();

                    context.Bookings.Remove(Booking);
                    context.SaveChanges();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Booking has already been deleted or another error has occured");
            }
        }
Example #16
0
        public static IEnumerable Rooms() // displays the list of rooms in the Rooms Form
        {
            using (var context = new Hotel_Reservation_System())
            {
                var rooms = from r in context.Rooms
                            select
                            new
                {
                    r.RoomID,
                    r.SingleBeds,
                    r.DoubleBeds,
                    r.Tarrif1Person,
                    r.Tarrif2People,
                    r.TarrifExtraPerson
                };

                return(rooms.ToList());
            }
        }
Example #17
0
        public static int InsertBookings(string BookingDate, string BookFrom, string BookTo, string Room, string Guests, string Cost)
        // inserts the guests booking details into the database on click of Create Booking
        {
            using (var context = new Hotel_Reservation_System())
            {
                var Bookings = new Booking();


                Bookings.BookingDate = BookingDate;
                Bookings.BookingFrom = BookFrom;
                Bookings.BookingTo   = BookTo;
                Bookings.RoomIDFK    = Convert.ToInt16(Room);
                Bookings.RoomBooked  = Room;
                Bookings.NumOfGuests = Guests;
                Bookings.RoomCost    = Cost;
                context.Bookings.Add(Bookings);
                context.SaveChanges();
                return(Bookings.BookingID);
            }
        }
Example #18
0
        public static void UpdateRoom(string roomID, string SingleBeds, string DoubleBeds, string Tarrif1person, string Tarrif2People, string TarrifExtraPerson) // Update part of CRUD for rooms on update click in Rooms Form
        {
            int Roomid = Convert.ToInt32(roomID);

            using (var context = new Hotel_Reservation_System())
            {
                var updaterooms = from r in context.Rooms
                                  where r.RoomID == Roomid
                                  select r;
                var rooms = updaterooms.FirstOrDefault();

                rooms.RoomID            = Roomid;
                rooms.SingleBeds        = SingleBeds;
                rooms.DoubleBeds        = DoubleBeds;
                rooms.Tarrif1Person     = Tarrif1person;
                rooms.Tarrif2People     = Tarrif2People;
                rooms.TarrifExtraPerson = TarrifExtraPerson;
                context.SaveChanges();

                MessageBox.Show("Room Updated Successfully!");
            }
        }
Example #19
0
 public static IEnumerable CurrentNotCheckedIn() // displays created booking that havnt yet checked in in a DGV on the reservations form
 {
     using (var context = new Hotel_Reservation_System())
     {
         var Notcheckedin = from b in context.Bookings
                            join g in context.Guests
                            on b.BookingID equals g.BookingIDFK
                            where b.CheckedIn == null
                            select
                            new
         {
             g.Name,
             g.Email,
             b.BookingID,
             b.NumOfGuests,
             b.RoomBooked,
             b.BookingFrom,
             b.BookingTo,
             b.CheckedIn
         };
         return(Notcheckedin.ToList());
     }
 }
        public static void InsertCheckOut(int roomcharge) // inserts checkout date into the booking table of the database on click of checkout
        {
            using (var context = new Hotel_Reservation_System())
            {
                var roomcost = from b in context.Bookings where b.RoomCost == roomcharge.ToString() select b;

                var booking = roomcost.FirstOrDefault();
                if (booking.BookingTo == DateTime.Today.ToString("dd/MM/yyyy"))
                {
                    booking.CheckedOut = DateTime.Today.ToString("dd/MM/yyyy");
                    context.SaveChanges();
                    MessageBox.Show("Guest Sucessfully Checked out! :D");
                }
                if (DateTime.Today < Convert.ToDateTime(booking.BookingTo))
                {
                    MessageBox.Show("You Cannot Check guests out early, please go and change the BookingTo date in Guests and Booking");
                }
                if (DateTime.Today > Convert.ToDateTime(booking.BookingTo))
                {
                    MessageBox.Show("Guests over stayed please create a new booking for the extra nights");
                }
            }
        }
Example #21
0
 public static IEnumerable CurrentCheckedIn() // displays booking that have check in entered in a DGV on the reservations Form
 {
     using (var context = new Hotel_Reservation_System())
     {
         var CurrentCheckedin = from b in context.Bookings
                                join g in context.Guests
                                on b.BookingID equals g.BookingIDFK
                                where b.CheckedOut == null && b.CheckedIn != null
                                select
                                new
         {
             g.GuestID,
             g.Name,
             g.Email,
             b.NumOfGuests,
             b.RoomBooked,
             b.BookingFrom,
             b.BookingTo,
             b.RoomCost,
             b.CheckedIn
         };
         return(CurrentCheckedin.ToList());
     }
 }
        // displays created booking that havnt yet checked in in a DGV on the reservations form
        public static IEnumerable CurrentNotCheckedIn()
        {
            using (var context = new Hotel_Reservation_System())
            {
                var Notcheckedin = from b in context.Bookings
                    join g in context.Guests
                        on b.BookingID equals g.BookingIDFK
                    where b.CheckedIn == null
                    select
                        new
                        {

                            g.Name,
                            g.Email,
                            b.BookingID,
                            b.NumOfGuests,
                            b.RoomBooked,
                            b.BookingFrom,
                            b.BookingTo,
                            b.CheckedIn
                        };
                return Notcheckedin.ToList();
            }
        }
        // Delete Booking Part of CRUD
        public static void DeleteBooking(int ID)
        {
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    int BookingID = ID;
                    var Booking = (from b in context.Bookings where b.BookingID == BookingID select b).SingleOrDefault();

                    context.Bookings.Remove(Booking);
                    context.SaveChanges();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Booking has already been deleted or another error has occured");

            }
        }
        // Delete Guest Part of CRUD
        public static void DeleteGuest(string Name)
        {
            var namedelete = Name;

            if (
                MessageBox.Show("Do you REALLY want to delete " + namedelete + "?", "Delete Record",
                    MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    var name = Name;
                    var Guest = (from g in context.Guests where g.Name == name select g).SingleOrDefault();

                    context.Guests.Remove(Guest);
                    context.SaveChanges();
                }
            }
            catch (Exception)
            {
                MessageBox.Show("Guest has already been deleted or another error has occured");

            }
        }
        // Delete Rooms part of CRUD
        public static void DeleteRoom(string ID)
        {
            var roomdelete = Convert.ToInt32(ID);

            if (
                MessageBox.Show("Do you REALLY want to delete Room " + roomdelete + "?", "Delete Record",
                    MessageBoxButtons.YesNo) != DialogResult.Yes)
            {
                return;
            }
            try
            {
                using (var context = new Hotel_Reservation_System())
                {
                    int RoomID = Convert.ToInt32(ID);
                    var room = (from r in context.Rooms where r.RoomID == RoomID select r).SingleOrDefault();

                    context.Rooms.Remove(room);
                    context.SaveChanges();
                }
            }

            catch (Exception)
            {
                MessageBox.Show("Room has already been deleted or another error has occured");

            }
        }
 // displays the history of who has checked out in the history Form
 public static IEnumerable GuestandBookingHistory()
 {
     using (var context = new Hotel_Reservation_System())
     {
         var history = from h in context.HistoryViews
                       where h.BookingFrom == h.CheckedIn
             select h;
         return history.ToList();
     }
 }
        // inserts the guests booking details into the database on click of Create Booking
        public static int InsertBookings(string BookingDate, string BookFrom, string BookTo, string Room, string Guests, string Cost)
        {
            using (var context = new Hotel_Reservation_System())
            {
                var Bookings = new Booking();

                Bookings.BookingDate = BookingDate;
                Bookings.BookingFrom = BookFrom;
                Bookings.BookingTo = BookTo;
                Bookings.RoomIDFK = Convert.ToInt16(Room);
                Bookings.RoomBooked = Room;
                Bookings.NumOfGuests = Guests;
               Bookings.RoomCost = Cost;
                context.Bookings.Add(Bookings);
                context.SaveChanges();
                return Bookings.BookingID;
            }
        }
        // inserts guests details into database on click of Create Booking
        public static void InsertGuest(string FN, string LN, string Email, int bookingIDFK)
        {
            using (var context = new Hotel_Reservation_System())
            {
                var Guests = new Guest();

                Guests.Name = FN + " " + LN;
                Guests.Email = Email;
                Guests.BookingIDFK = bookingIDFK;
                context.Guests.Add(Guests);
                context.SaveChanges();
                MessageBox.Show("Booking Successfully Created!");
            }
        }
        // displays the list of rooms in the Rooms Form
        public static IEnumerable Rooms()
        {
            using (var context = new Hotel_Reservation_System())
            {
                var rooms = from r in context.Rooms
                    select
                        new
                        {
                            r.RoomID,
                            r.SingleBeds,
                            r.DoubleBeds,
                            r.Tarrif1Person,
                            r.Tarrif2People,
                            r.TarrifExtraPerson
                        };

                return rooms.ToList();
            }
        }
        // Update Booking part of CRUD
        public static void UpdateBookings(string Room, string Guests,string BookingFrom, string BookingTo, int BookingID)
        {
            using (var context = new Hotel_Reservation_System())
            {
                var UpdateBookings = from b in context.Bookings
                                   where b.BookingID == BookingID
                                   select b;
                var bookings = UpdateBookings.FirstOrDefault();

                bookings.RoomBooked = Room;
                bookings.NumOfGuests = Guests;
                bookings.BookingFrom = BookingFrom;
                bookings.BookingTo = BookingTo;
                context.SaveChanges();

            }
        }
        // Update Guests part of CRUD
        public static void UpdateGuests(string Name, string Email, int GuestID)
        {
            using (var context = new Hotel_Reservation_System())
            {
                var UpdateGuests = from g in context.Guests
                        where g.GuestID == GuestID
                    select g;
                var guests = UpdateGuests.FirstOrDefault();

                    guests.Name = Name;
                    guests.Email = Email;
                context.SaveChanges();

            }
        }
        // Update part of CRUD for rooms on update click in Rooms Form
        public static void UpdateRoom(string roomID, string SingleBeds, string DoubleBeds, string Tarrif1person, string Tarrif2People, string TarrifExtraPerson)
        {
            int Roomid = Convert.ToInt32(roomID);
            using (var context = new Hotel_Reservation_System())
            {
                var updaterooms = from r in context.Rooms
                    where r.RoomID == Roomid
                    select r;
                var rooms = updaterooms.FirstOrDefault();

                rooms.RoomID = Roomid;
                rooms.SingleBeds = SingleBeds;
                rooms.DoubleBeds = DoubleBeds;
                rooms.Tarrif1Person = Tarrif1person;
                rooms.Tarrif2People = Tarrif2People;
                rooms.TarrifExtraPerson = TarrifExtraPerson;
                context.SaveChanges();

                MessageBox.Show("Room Updated Successfully!");
            }
        }