Esempio n. 1
0
        public void SaveBooking(int id, DateTime selectedCheckIn, int Price, DateTime selectedCheckOut, room selectedRoom, string selectedRoomNumber, ObservableCollection <service> services, account cont)
        {
            if (selectedCheckIn >= selectedCheckOut)
            {
                MessageBox.Show("Selected Check-in invalid!");
            }
            else if (selectedRoom == null || selectedRoomNumber == "" || selectedRoomNumber == null)
            {
                MessageBox.Show("Complete all fields!");
            }
            else
            {
                HotelEntities context = new HotelEntities();
                if (id == -1)
                {
                    context.AddBooking(selectedCheckIn, selectedCheckOut, int.Parse(selectedRoomNumber), 1, Price, selectedRoom.id, cont.id);
                }
                else
                {
                    context.ModifyBooking(id, selectedCheckIn, selectedCheckOut, int.Parse(selectedRoomNumber), 1, Price, selectedRoom.id, cont.id);
                }

                context.SaveChanges();
                foreach (var booking in context.bookings.ToList())
                {
                    if (booking.idUser == 1 && booking.checkIn == selectedCheckIn && booking.checkOut == selectedCheckOut)
                    {
                        foreach (var service in services)
                        {
                            context.AddServiceToBooking(service.id, booking.id);
                        }
                        context.SaveChanges();
                    }
                }
                MainViewModel.Instance.ActiveScreen = new BookingsViewModel(cont);
            }
        }