private void btnDeleteOrderActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnDeleteOrderActionPerformed

    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();

    if (jTable2.getSelectedRow() == -1) {
      if (jTable2.getRowCount() == 0) {
        JOptionPane.showMessageDialog(null, "The table is empty");
      } else {
        JOptionPane.showMessageDialog(null, "You must select an order to delete");
      }
    } else {
      int SelectedRow = jTable2.getSelectedRow();
      int OrderID = (int) model.getValueAt(SelectedRow, 0);

      // deserializing
      try {
        orderList = this.orderService.Deserialize(RequisitionOrderFile);
      } catch (IOException ex) {
        Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
      } catch (ClassNotFoundException ex) {
        Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
      }

      // verifying delete
      int x = JOptionPane.showConfirmDialog(null, "Are you sure?");

      if (x == 0) {
        for (RequisitionOrder order : orderList) {
          if (order.getOrderID() == OrderID) {
            try {
              this.orderService.removeOrder(order, orderList);
              model.removeRow(SelectedRow);
              break;

            } catch (IOException ex) {
              Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
            } catch (ConcurrentModificationException ex) {
              Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
            }
          }
        }
      }
    }
  } // GEN-LAST:event_btnDeleteOrderActionPerformed
  private void btnViewOrdersActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnViewOrdersActionPerformed

    // Temp variable to check if entries exist in file
    boolean found = false;
    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();

    int rows = model.getRowCount();

    // Clearing jTable2
    for (int i = rows - 1; i >= 0; i--) {
      model.removeRow(i);
    }

    // Deserializing

    try {
      orderList = this.orderService.Deserialize(RequisitionOrderFile);
    } catch (IOException ex) {
      Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
      Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
    }

    for (RequisitionOrder order : orderList) {
      // Setting the dateformat of the jDateChooser
      SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", Locale.getDefault());

      if (order.getPlacedDate().equals(sdf.format(jDateSet.getDate()))
          && order.getUsername().equals(Username)) {
        model.addRow(
            new Object[] {
              order.getOrderID(),
              order.getItemCount(),
              order.getTotalPriceOfItems(),
              order.getRequiredDate(),
              order.getStatusOfApproval()
            });
        found = true;
      }
    }

    if (found == false) {
      JOptionPane.showMessageDialog(null, "There were no orders placed on this date");
    }
  } // GEN-LAST:event_btnViewOrdersActionPerformed
  private void btnViewAllOrdersActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnViewAllOrdersActionPerformed

    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();

    int row = model.getRowCount();

    int rows = model.getRowCount();

    for (int i = rows - 1; i >= 0; i--) {
      model.removeRow(i);
    }

    // Deserializing
    try {
      orderList = this.orderService.Deserialize(RequisitionOrderFile);
    } catch (IOException ex) {
      Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
    } catch (ClassNotFoundException ex) {
      Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
    }

    boolean found = false;

    for (RequisitionOrder order : orderList) {
      if (order.getUsername().equals(Username)) {
        model.addRow(
            new Object[] {
              order.getOrderID(),
              order.getItemCount(),
              order.getTotalPriceOfItems(),
              order.getRequiredDate(),
              order.getStatusOfApproval()
            });
        found = true;
      }
    }

    if (found == false) {
      JOptionPane.showMessageDialog(
          null, "You Have Not Placed Any Orders", null, JOptionPane.ERROR_MESSAGE);
    }
  } // GEN-LAST:event_btnViewAllOrdersActionPerformed
  private void btnViewOrderInDetailActionPerformed(
      java.awt.event.ActionEvent evt) { // GEN-FIRST:event_btnViewOrderInDetailActionPerformed

    DefaultTableModel model = (DefaultTableModel) jTable2.getModel();

    if (jTable2.getSelectedRow() == -1) {
      if (jTable2.getRowCount() == 0) {
        JOptionPane.showMessageDialog(null, "The table is empty");
      } else {
        JOptionPane.showMessageDialog(null, "You must select an order to view");
      }
    } else {
      int SelectedRow = jTable2.getSelectedRow();
      int OrderID = (int) model.getValueAt(SelectedRow, 0);

      if (jTable2.getValueAt(SelectedRow, 4).equals("Pending")) {
        UpdateRequisitionOrderUI uroui = new UpdateRequisitionOrderUI(OrderID, Username, SiteName);
        this.dispose();
        uroui.setVisible(true);
      } else if (jTable2.getValueAt(SelectedRow, 4).equals("Approved")
          || jTable2.getValueAt(SelectedRow, 4).equals("Placed")) {
        RequisitionOrder order = new RequisitionOrder();

        try {
          orderList = this.orderService.Deserialize(RequisitionOrderFile);
        } catch (IOException ex) {
          Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
          Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
        }

        for (RequisitionOrder aOrder : orderList) {
          if (aOrder.getOrderID() == OrderID) {
            order = aOrder;
            break;
          }
        }

        if (jTable2.getValueAt(SelectedRow, 4).equals("Approved")) {
          JOptionPane.showMessageDialog(
              null, "Your Order Has Been Approved. Order Approved By " + order.getApprover());
        } else if (jTable2.getValueAt(SelectedRow, 4).equals("Placed")) {
          JOptionPane.showMessageDialog(
              null,
              "Your Order Has Been Sent To The Supplier For Delivery. Order Approved By "
                  + order.getApprover());
        }

      } else if (jTable2.getValueAt(SelectedRow, 4).equals("Declined")) {
        RequisitionOrder order = new RequisitionOrder();

        try {
          orderList = this.orderService.Deserialize(RequisitionOrderFile);
        } catch (IOException ex) {
          Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
        } catch (ClassNotFoundException ex) {
          Logger.getLogger(SiteManagerUI.class.getName()).log(Level.SEVERE, null, ex);
        }

        for (RequisitionOrder aOrder : orderList) {
          if (aOrder.getOrderID() == OrderID) {
            order = aOrder;
            break;
          }
        }

        JOptionPane.showMessageDialog(
            null, order.getDeclinedComments() + " // Order Handled By " + order.getApprover());
      }
    }
  } // GEN-LAST:event_btnViewOrderInDetailActionPerformed