aj98

createEmployee

Dec 25th, 2018
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 12.33 KB | None | 0 0
  1. package oop_final_project_daycaremanagementsystem;
  2.  
  3. /**
  4.  * @author ajeel
  5.  */
  6. import java.io.*;
  7. import java.util.*;
  8. import javax.swing.*;
  9. import java.awt.*;
  10. import java.awt.event.ActionEvent;
  11. import java.awt.event.ActionListener;
  12.  
  13. public class createEmployee extends JFrame {
  14.  
  15.     JLabel lbName, lbAge, lbCnic, lbBankAccount, lbNewUsername, lbNewPassword, lbEarning, lbSalariedJob, lbHourlyJob, lbSalary, lbHourlyRate;
  16.     JTextField tfName, tfAge, tfCnic, tfBankAccount, tfNewUsername, tfNewPassword, tfSalary, tfHourlyRate;
  17.     JButton jbBack, jbCreate;
  18.  
  19.     ButtonGroup bgEarning;
  20.     JRadioButton rbSalaried, rbHourly;
  21.  
  22.     JComboBox cbHourlyJobs, cbSalariedJobs;
  23.  
  24.     JPanel jpUpper, jpLower;
  25.  
  26.     public createEmployee() throws HeadlessException {
  27.         super("Create an account for the new employee");
  28.  
  29.         setLayout(new FlowLayout());
  30.  
  31.         setSize(400, 400);
  32.  
  33.         setDefaultCloseOperation(EXIT_ON_CLOSE);
  34.  
  35.         setVisible(true);
  36.  
  37.         myActionListener a = new myActionListener();
  38.  
  39.         jpUpper = new JPanel(new GridLayout(0, 2));
  40.         jpLower = new JPanel(new FlowLayout());
  41.  
  42.         lbName = new JLabel("Name");
  43.         tfName = new JTextField();
  44.         lbAge = new JLabel("Age");
  45.         tfAge = new JTextField();
  46.         lbCnic = new JLabel("CNIC");
  47.         tfCnic = new JTextField();
  48.         lbBankAccount = new JLabel("Bank account");
  49.         tfBankAccount = new JTextField();
  50.  
  51.         lbNewUsername = new JLabel("New username");
  52.         tfNewUsername = new JTextField();
  53.         lbNewPassword = new JLabel("New password");
  54.         tfNewPassword = new JTextField();
  55.  
  56.         lbEarning = new JLabel("Earning");
  57.         bgEarning = new ButtonGroup();
  58.         rbHourly = new JRadioButton("hourly");
  59.         rbSalaried = new JRadioButton("salaried");
  60.         bgEarning.add(rbHourly);
  61.         bgEarning.add(rbSalaried);
  62.  
  63.         lbSalariedJob = new JLabel("Salaried Job");
  64.         String[] salariedJobs = new String[]{"caregiver", "security guard", "receptionist"};
  65.         cbSalariedJobs = new JComboBox(salariedJobs);
  66.  
  67.         lbHourlyJob = new JLabel("Hourly job");
  68.         String[] hourlyJobs = new String[]{"cook", "janitor"};
  69.         cbHourlyJobs = new JComboBox(hourlyJobs);
  70.  
  71.         lbSalary = new JLabel("salary");
  72.  
  73.         tfSalary = new JTextField();
  74.         tfSalary.addActionListener(a);
  75.  
  76.         lbHourlyRate = new JLabel("hourly rate");
  77.         tfHourlyRate = new JTextField();
  78.         tfHourlyRate.addActionListener(a);
  79.  
  80.         tfName.addActionListener(a);
  81.         tfAge.addActionListener(a);
  82.         tfCnic.addActionListener(a);
  83.         tfBankAccount.addActionListener(a);
  84.         tfNewUsername.addActionListener(a);
  85.         tfNewPassword.addActionListener(a);
  86.         rbSalaried.addActionListener(a);
  87.         rbHourly.addActionListener(a);
  88.         cbHourlyJobs.addActionListener(a);
  89.         cbSalariedJobs.addActionListener(a);
  90.  
  91.         jpUpper.add(lbName);
  92.         jpUpper.add(tfName);
  93.         jpUpper.add(lbAge);
  94.         jpUpper.add(tfAge);
  95.         jpUpper.add(lbCnic);
  96.         jpUpper.add(tfCnic);
  97.         jpUpper.add(lbBankAccount);
  98.         jpUpper.add(tfBankAccount);
  99.         jpUpper.add(lbNewUsername);
  100.         jpUpper.add(tfNewUsername);
  101.         jpUpper.add(lbNewPassword);
  102.         jpUpper.add(tfNewPassword);
  103.  
  104.         jpUpper.add(lbEarning);
  105.         jpUpper.add(rbHourly);
  106.         jpUpper.add(rbSalaried);
  107.         jpUpper.add(lbSalariedJob);
  108.         jpUpper.add(cbSalariedJobs);
  109.         jpUpper.add(lbHourlyJob);
  110.         jpUpper.add(cbHourlyJobs);
  111.  
  112.         jpUpper.add(lbSalary);
  113.         jpUpper.add(tfSalary);
  114.  
  115.         jpUpper.add(lbHourlyRate);
  116.         jpUpper.add(tfHourlyRate);
  117.  
  118.         jbCreate = new JButton("Create");
  119.         jbBack = new JButton("Back");
  120.         jbCreate.addActionListener(a);
  121.         jbBack.addActionListener(a);
  122.         jpLower = new JPanel(new FlowLayout());
  123.         jpLower.add(jbCreate);
  124.         jpLower.add(jbBack);
  125.  
  126.         add(jpUpper);
  127.         add(jpLower);
  128.  
  129.     }
  130.  
  131.     public ArrayList<Employee> readAllData() {
  132.         //  ArrayList initialized with size 0
  133.         ArrayList<Employee> employeeList = new ArrayList<Employee>();
  134. // Input stream
  135.         ObjectInputStream inputStream = null;
  136.         try {
  137. // open file for reading
  138.             inputStream = new ObjectInputStream(new FileInputStream("Employee.ser"));
  139. // End Of File flag
  140.             boolean EOF = false;
  141. // Keep reading file until file ends
  142.             while (!EOF) {
  143.                 try {
  144. // read object and type cast into CarDetails object
  145.                     Employee myObj = (Employee) inputStream.readObject();
  146. // add object into ArrayList
  147.                     employeeList.add(myObj);
  148. //System.out.println("Read: " + myObj.getName());
  149.                 } catch (ClassNotFoundException e) {
  150. //System.out.println("Class not found");
  151.                 } catch (EOFException end) {
  152. // EOFException is raised when file ends
  153. // set End Of File flag to true so that loop exits
  154.                     EOF = true;
  155.                 }
  156.             }
  157.         } catch (FileNotFoundException e) {
  158. //System.out.println("Cannot find file");
  159.         } catch (IOException e) {
  160. //System.out.println("IO Exception while opening stream");
  161. //e.printStackTrace();
  162.         } finally { // cleanup code to close stream if it was opened
  163.             try {
  164.                 if (inputStream != null) {
  165.                     inputStream.close();
  166.                 }
  167.             } catch (IOException e) {
  168. // TODO Auto-generated catch block
  169.                 System.out.println("IO Exception while closing file");
  170.             }
  171.         }
  172. // returns ArrayList
  173.         return employeeList;
  174.     }
  175.  
  176.     public class myActionListener implements ActionListener {
  177.  
  178.         @Override
  179.         public void actionPerformed(ActionEvent e) {
  180.             if (e.getActionCommand().equals("Create")) {
  181.                 if (tfAge.getText().isEmpty() || tfBankAccount.getText().isEmpty() || tfCnic.getText().isEmpty() || tfName.getText().isEmpty() || tfNewPassword.getText().isEmpty() || tfNewUsername.getText().isEmpty()) {
  182.                     JOptionPane.showMessageDialog(new JFrame("please fill the form "), "please fill the form");
  183.  
  184.                 } else if (!(tfAge.getText().isEmpty() && tfBankAccount.getText().isEmpty() && tfCnic.getText().isEmpty() && tfName.getText().isEmpty() && tfNewPassword.getText().isEmpty() && tfNewUsername.getText().isEmpty())) {
  185.  
  186.                     ArrayList<Employee> employeeList = readAllData();
  187.                     if (rbSalaried.isSelected()) {
  188.                         if (cbSalariedJobs.getSelectedItem().equals("caregiver")) {
  189.  
  190.                             Caregiver cr = new Caregiver(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfSalary.getText());
  191.                             ObjectOutputStream write = null;
  192.                             try {employeeList.add(cr);
  193.                             System.out.println("the file");
  194.                                 write = new ObjectOutputStream(new FileOutputStream("Employee.ser", true));
  195.                                 for (int i = 0; i < employeeList.size(); i++) {
  196.  
  197.                                     write.writeObject(employeeList.get(i));
  198.                                    
  199.                                    
  200.                                 }
  201.                             } catch (IOException a) {
  202.                                
  203.                             }
  204.                            
  205.                             finally{
  206.                                 try{
  207.                                     if(write !=null){
  208.                                         write.close();
  209.                                        
  210.                                     }
  211.                                 } catch (IOException a){
  212.                                     System.out.println("IOexception while closing file");
  213.                                     }
  214.                             }
  215.                            
  216.                            
  217.                            
  218.                            
  219.                            
  220.  
  221.                             JOptionPane.showMessageDialog(new JFrame(), "caregiver created");
  222.  
  223.                         } else if (cbSalariedJobs.getSelectedItem().equals("security guard")) {
  224.                            
  225.                             securityGuard cr = new securityGuard(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfSalary.getText());
  226.                             try {employeeList.add(cr);
  227.                                 ObjectOutputStream write = new ObjectOutputStream(new FileOutputStream("Employee.ser", true));
  228.                                 for (int i = 0; i < employeeList.size(); i++) {
  229.  
  230.                                     write.writeObject(employeeList.get(i));
  231.                                 }
  232.                             } catch (IOException a) {
  233.                             }
  234.                             JOptionPane.showMessageDialog(new JFrame(), "secuirty guard created");
  235.  
  236.                         } else if (cbSalariedJobs.getSelectedItem().equals("receptionist")) {
  237.                             Receptionist rc = new Receptionist(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfSalary.getText());
  238.                            
  239.                             try {employeeList.add(rc);
  240.                                 ObjectOutputStream write = new ObjectOutputStream(new FileOutputStream("Employee.ser", true));
  241.                                 for (int i = 0; i < employeeList.size(); i++) {
  242.  
  243.                                     write.writeObject(employeeList.get(i));
  244.                                 }
  245.                             } catch (IOException a) {
  246.                             }
  247.                             JOptionPane.showMessageDialog(new JFrame(), "receptionist created");
  248.  
  249.                         }
  250.  
  251.                         //salariedEmployee salariedE = new salariedEmployee(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfSalary.getText());
  252.                     } else if (rbHourly.isSelected()) {
  253.                         if (cbHourlyJobs.getSelectedItem().equals("cook")) {
  254.  
  255.                             Cook ck = new Cook(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfHourlyRate.getText());
  256.                            
  257.                             try {employeeList.add(ck);
  258.                                 ObjectOutputStream write = new ObjectOutputStream(new FileOutputStream("Employee.ser", true));
  259.                                 for (int i = 0; i < employeeList.size(); i++) {
  260.  
  261.                                     write.writeObject(employeeList.get(i));
  262.                                 }
  263.                             } catch (IOException a) {
  264.                             }
  265.                             JOptionPane.showMessageDialog(new JFrame(), "cook created");
  266.                         } else if (cbHourlyJobs.getSelectedItem().equals("janitor")) {
  267.                             Janitor ja = new Janitor(tfName.getText(), tfAge.getText(), new usernameAndPassword(tfNewUsername.getText(), tfNewPassword.getText()), tfCnic.getText(), tfBankAccount.getText(), tfHourlyRate.getText());
  268.                             try {employeeList.add(ja);
  269.                                 ObjectOutputStream write = new ObjectOutputStream(new FileOutputStream("Employee.ser", true));
  270.                                 for (int i = 0; i < employeeList.size(); i++) {
  271.  
  272.                                     write.writeObject(employeeList.get(i));
  273.                                 }
  274.                             } catch (IOException a) {
  275.                             }
  276.  
  277.                             JOptionPane.showMessageDialog(new JFrame(), "janitor created");
  278.  
  279.                         }
  280.  
  281.                     }
  282.  
  283.                 }
  284.  
  285.             } else if (e.getActionCommand().equals("Back")) {
  286.                 login a = new login();
  287.  
  288.             }
  289.  
  290.         }
  291.  
  292.     }
  293.  
  294. }
Add Comment
Please, Sign In to add comment