Exemplo n.º 1
0
    @Override
    public void actionPerformed(ActionEvent e) {
      try {
        if (!((String) tableNames.getSelectedItem()).equals("INCIDENT")) {
          JOptionPane.showMessageDialog(
              null, "Не выбрана необходимая таблица.", "Message", JOptionPane.INFORMATION_MESSAGE);
          return;
        }
        if (table.getSelectedRow() == -1) {
          JOptionPane.showMessageDialog(
              null, "Запись не выбрана.", "Message", JOptionPane.INFORMATION_MESSAGE);
          return;
        }
        int selectedRow = table.getSelectedRow();
        int incidentNumber = Integer.parseInt(table.getValueAt(selectedRow, 0).toString());

        // Selecte all having articles
        String query = "select articlenumber, articlename from alex.article";
        PreparedStatement pStatment = connection.prepareStatement(query);
        ResultSet result = pStatment.executeQuery();

        Map<String, Integer> articles = new HashMap<String, Integer>();
        while (result.next()) {
          articles.put(
              result.getString("articlenumber") + ": " + result.getString("articlename"),
              Integer.valueOf(result.getInt("articlenumber")));
        }

        // Getting nessesary information
        AddCriminalCaseDialog dialog = new AddCriminalCaseDialog(thisFrame, articles);
        dialog.setVisible(rootPaneCheckingEnabled);
        if (!dialog.getOk()) {
          return;
        }

        // Execute operation
        BaseUpdater updater = new BaseUpdater();
        boolean resultBool =
            updater.addCriminalCase(
                connection,
                dialog.getCriminalDate(),
                dialog.getArticleKeys(),
                dialog.getCriminalNote(),
                incidentNumber);

        if (resultBool) {
          JOptionPane.showMessageDialog(
              null, "Уголовное дело было добавлено.", "Message", JOptionPane.INFORMATION_MESSAGE);
          tableNames.setSelectedItem("INCIDENT");
        } else {
          JOptionPane.showMessageDialog(
              null, "Уголовное дело не было добавлено.", "Ошибка", JOptionPane.ERROR_MESSAGE);
        }

      } catch (ParseException ex) {
        JOptionPane.showMessageDialog(
            null, "Неверный формат даты.", "Ошибка", JOptionPane.ERROR_MESSAGE);
      } catch (SQLException ex) {
        JOptionPane.showMessageDialog(
            null, "Ошибка. Уголовное дело не было добавлено.", "Ошибка", JOptionPane.ERROR_MESSAGE);
      }
    }