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); } }