private void saveBookingButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_saveBookingButtonActionPerformed
        boolean commitSuccess;
        if (!newBookingModel.isEmpty()) {
            int reply = jOptionPane.showConfirmDialog(this, "Are you sure you want to save?", "Save?", jOptionPane.YES_NO_OPTION);
            if (reply == jOptionPane.YES_OPTION) {
                commitSuccess = ctr.saveBooking();
                ArrayList<Booking> bookingsNotSaved = ctr.getBookingsNotSaved();
                if (bookingsNotSaved.size() > 0) {
                    String stringShow = "";
                    for (Booking booking : bookingsNotSaved) {
                        String str = "Room: " + booking.getRoomNo() + " is already occupied from " + booking.getCheckInDate() + " to " + booking.getCheckOutDate() + "\n";
                        stringShow = stringShow.concat(str);
                    }
                    jOptionPane.showMessageDialog(this, stringShow);
                }
                if (commitSuccess) {
                    newBookingModel.clear();
                    newBookingStatusLabel.setText("Booking(s) were saved!");
                    refreshBookingTable(bookingTableModel);
                    refreshRoomTable(roomTableModel, checkIn.getDate(), checkOut.getDate());
                }
                else {
                    jOptionPane.showMessageDialog(this, "Something went wrong with saving the booking!", "Booking Error! - rollback", jOptionPane.ERROR_MESSAGE);
                }
            }
        }
        else {
            newBookingStatusLabel.setText("There is no bookings to be saved.");
        }
    }//GEN-LAST:event_saveBookingButtonActionPerformed