/*
 * CompanyPayroll.java      Authors: Koffman and Wolz
 * Class that can calculate a company payroll.
 * Uses class Employee and JOptionPane.
 */
import javax.swing.JOptionPane;

public class CompanyPayroll {
   // Data field
  private double payroll;   // total company payroll

  // methods
  private static double readDouble(String prompt) {
    String numStr = JOptionPane.showInputDialog(prompt);
    return Double.parseDouble(numStr);
  }

  private static int readInt(String prompt) {
    String numStr = JOptionPane.showInputDialog(prompt);
    return Integer.parseInt(numStr);
  }

  // precondition - payroll is zero
  // postcondition - payroll is sum of all gross pay amounts
  public void calculatePayroll() {

     // Process all employees
     int numberEmp = readInt("How many employees?");
     for (int countEmp = 0; countEmp < numberEmp;
          countEmp = countEmp + 1)
     {
       // Store the payroll data in a new Employee object.
       Employee programmer =
          new Employee(
              JOptionPane.showInputDialog("Enter employee id"),
              readDouble("Enter hours worked"),
              readDouble("Enter hourly rate")   );

       // Compute employee gross pay.
       double gross = programmer.computeGross();

       // Compute employee net pay, given gross pay.
       double net = programmer.computeNet(gross);

       // Add gross pay to payroll
       payroll = payroll + gross;

       // Write pay data and results to console.
       System.out.println(programmer.toString());
       System.out.println("Gross pay is $" + gross);
       System.out.println("Net pay is $" + net + "\n");
     }  // end for
   }

   public double getPayroll() {
     return payroll;
   }
}

