Advertisement
xlrnxnlx

CategoryController

May 23rd, 2014
261
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 6.48 KB | None | 0 0
  1. package aap.controller;
  2.  
  3. import aap.view.CategoryWindow;
  4. import app.dao.*;
  5. import app.model.*;
  6. import java.awt.event.*;
  7. import javax.swing.JButton;
  8. import javax.swing.JOptionPane;
  9.  
  10. public class CategoryController implements ActionListener {
  11.  
  12.     private CategoryWindow window;
  13.     private AirplaneCategoryDataAccess airplaneDAO;
  14.     private AirplaneCategory airplaneCategory;
  15.     private PilotCategoryDataAccess pilotDAO;
  16.     private PilotCategory pilotCategory;
  17.  
  18.     public CategoryController(CategoryWindow window) {
  19.         this.window = window;
  20.         window.getBtInsertCategory().addActionListener(this);
  21.         window.getBtDeleteCategory().addActionListener(this);
  22.         window.getBtEditCategory().addActionListener(this);
  23.         updateComboBox();
  24.     }
  25.  
  26.     @Override
  27.     public void actionPerformed(ActionEvent e) {
  28.         JButton b = (JButton) e.getSource();
  29.  
  30.         switch (b.getText().toLowerCase()) {
  31.             case "inserir": insert(); break;
  32.             case "remover": delete(); break;
  33.             case "editar": edit(); break;
  34.             case "atualizar": update(); break;  
  35.         }
  36.     }
  37.    
  38.     public void updateComboBox() {
  39.         if (window.getCategoryInInteger() == 1) {
  40.             airplaneDAO = new AirplaneCategoryDataAccess();
  41.             window.popComboBox(airplaneDAO.select());
  42.         } else {
  43.             pilotDAO = new PilotCategoryDataAccess();
  44.             window.popComboBox(pilotDAO.select());
  45.         }
  46.     }
  47.    
  48.     public void updateAndShowWindow(String type) {
  49.         if (this.window == null) {
  50.             this.window = new CategoryWindow();
  51.         } else {
  52.             window.changeCategory(type);
  53.         }
  54.  
  55.         if (window.getCategoryInInteger() == 1) {
  56.             airplaneDAO = new AirplaneCategoryDataAccess();
  57.             window.popComboBox(airplaneDAO.select());
  58.         } else {
  59.             pilotDAO = new PilotCategoryDataAccess();
  60.             window.popComboBox(pilotDAO.select());
  61.         }
  62.         window.setVisible(true);
  63.     }
  64.  
  65.     private void updateIDAndGenre() {
  66.         this.ID = Integer.parseInt(window.getTfID().getText());
  67.         this.GENRE = window.getTfNewCategory().getText();
  68.     }
  69.  
  70.     private void setTextFieldNames() {
  71.         window.getTfID().setText(Integer.toString(ID));
  72.         window.getTfNewCategory().setText(GENRE);
  73.     }
  74.  
  75.     private void insert() {
  76.         boolean success;
  77.         // <editor-fold defaultstate="collapsed" desc=" Insert - Airplane / Pilot ">  
  78.         updateIDAndGenre();
  79.         if (window.getCategoryInInteger() == 1) {
  80.             this.airplaneCategory = new AirplaneCategory(
  81.                     ID,
  82.                     GENRE
  83.             );
  84.             airplaneDAO = new AirplaneCategoryDataAccess(airplaneCategory);
  85.             success = airplaneDAO.insert();
  86.         } else {
  87.             this.pilotCategory = new PilotCategory(
  88.                     ID,
  89.                     GENRE
  90.             );
  91.             pilotDAO = new PilotCategoryDataAccess(pilotCategory);
  92.             success = pilotDAO.insert();
  93.         }
  94.         if (success) {
  95.             updateComboBox();
  96.             window.getTfID().setText(window.getTfID().getName());
  97.             window.getTfNewCategory().setText(window.getTfID().getName());
  98.             JOptionPane.showMessageDialog(null, GENRE + " inserido com sucesso!", "", JOptionPane.INFORMATION_MESSAGE);
  99.         }
  100.         //</editor-fold>
  101.     }
  102.  
  103.     private void delete() {
  104.         boolean success;
  105.         // <editor-fold defaultstate="collapsed" desc=" Delete - Airplane / Pilot ">  
  106.         GENRE = window.getCombobox().getSelectedItem().toString();
  107.         // 1 = sim, 2 não
  108.         int confirm = JOptionPane.showConfirmDialog(null, "Remover a categoria \"" + GENRE + "\"?", "", JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE);
  109.         if (confirm == JOptionPane.YES_OPTION) {
  110.             if (window.getCategoryInInteger() == 1) {
  111.                 this.airplaneCategory = new AirplaneCategory(0, GENRE);
  112.                 airplaneDAO = new AirplaneCategoryDataAccess(airplaneCategory);
  113.                 success = airplaneDAO.delete();
  114.             } else {
  115.                 this.pilotCategory = new PilotCategory(0, GENRE);
  116.                 pilotDAO = new PilotCategoryDataAccess(pilotCategory);
  117.                 success = pilotDAO.delete();
  118.             }
  119.             if (success) {
  120.                 updateComboBox();
  121.                 JOptionPane.showMessageDialog(null, "\"" + GENRE + "\" removido com sucesso!", "", JOptionPane.OK_OPTION);
  122.             }
  123.         }
  124.         //</editor-fold>
  125.     }
  126.  
  127.     private void edit() {
  128.         boolean success;
  129.         // <editor-fold defaultstate="collapsed" desc=" Edit - Airplane / Pilot ">  
  130.         window.isEditableMode(true);
  131.  
  132.         BEFORE_EDIT = GENRE = window.getCombobox().getSelectedItem().toString();
  133.         int index = window.getCombobox().getSelectedIndex();
  134.  
  135.         if (window.getCategoryInInteger() == 1) {
  136.             airplaneDAO = new AirplaneCategoryDataAccess();
  137.             ID = window.getIDInComboBox(airplaneDAO.select(), index);
  138.         } else {
  139.             pilotDAO = new PilotCategoryDataAccess();
  140.             ID = window.getIDInComboBox(pilotDAO.select(), index);
  141.         }
  142.         setTextFieldNames();
  143.         //</editor-fold>  
  144.     }
  145.  
  146.     private void update() {
  147.         boolean success;
  148.         // <editor-fold defaultstate="collapsed" desc=" Update - Airplane / Pilot ">
  149.         updateIDAndGenre();
  150.        
  151.         if (window.getCategoryInInteger() == 1) {
  152.             airplaneCategory = new AirplaneCategory(
  153.                     ID,
  154.                     GENRE
  155.             );
  156.             airplaneDAO = new AirplaneCategoryDataAccess(airplaneCategory);
  157.             success = airplaneDAO.update(BEFORE_EDIT);
  158.         } else {
  159.             pilotCategory = new PilotCategory(
  160.                     ID,
  161.                     GENRE
  162.             );
  163.             pilotDAO = new PilotCategoryDataAccess(pilotCategory);
  164.             success = pilotDAO.update(BEFORE_EDIT);
  165.         }
  166.         if (success) {
  167.             updateComboBox();
  168.             JOptionPane.showMessageDialog(null, "Dados Atualizados com sucesso!", "", JOptionPane.INFORMATION_MESSAGE);
  169.         }
  170.         window.isEditableMode(false);
  171.         window.getTfID().setText(window.getTfID().getName());
  172.         window.getTfNewCategory().setText(window.getTfNewCategory().getName());
  173.         //</editor-fold>  
  174.     }
  175.  
  176.     private int ID;
  177.     private String GENRE;
  178.     private String BEFORE_EDIT;
  179. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement