diff --git a/SchedulerApp/src/main/java/com/example/schedulerapp/Controller.java b/SchedulerApp/src/main/java/com/example/schedulerapp/Controller.java index 1e394382db9896bdc0ed06b71ea18a40b74316dd..be97e4d1483be4fb343ddf9d9ed2aa7a8d10fd46 100644 --- a/SchedulerApp/src/main/java/com/example/schedulerapp/Controller.java +++ b/SchedulerApp/src/main/java/com/example/schedulerapp/Controller.java @@ -111,6 +111,12 @@ public class Controller { TextField timeOffReason; @FXML Label timeOffResponse; + @FXML + TextField addEmployeeEmail; + @FXML + TextField addEmployeePhoneNumber; + @FXML + CheckBox addEmployeeManager; boolean isDaily; @@ -573,10 +579,32 @@ public class Controller { public void addEmployeeClicked(MouseEvent mouseEvent) { String firstName = addFirstName.getText(); String lastName = addLastName.getText(); - model.addEmployee(firstName, lastName); - System.out.println("Employee " + firstName + " " + lastName + " added to Staff. Welcome " - + firstName + "!"); - model.notifySubscribers(); + String addEmail = addEmployeeEmail.getText(); + String addPhoneNumber = addEmployeePhoneNumber.getText(); + boolean addManager = addEmployeeManager.isSelected(); + + if(firstName.isBlank() || firstName.isEmpty()){ + showErrorMessage("First name is blank. Please try again."); + } + else if(lastName.isEmpty() || lastName.isBlank()){ + showErrorMessage("Last name is blank. Please try again."); + } + else if(addEmail.isBlank() || addEmail.isBlank()){ + showErrorMessage("Email is blank. Please try again."); + } + else if(addPhoneNumber.isBlank() || addPhoneNumber.isEmpty()){ + showErrorMessage("Phone number is blank. Please try again"); + } + else if(addPhoneNumber.contains(".") || addPhoneNumber.contains("-") || addPhoneNumber.contains(",") || addPhoneNumber.contains("/")){ + showErrorMessage("Phone number has illegal character. Please try again"); + } + else{ + model.addEmployee(firstName, lastName); + //int id = model.addEmployee(firstName, lastName); + //model.editEmployee(id,firstName,lastName,addManager,addEmail,addPhoneNumber,0.0f); + + model.notifySubscribers(); + } } public void editEmployeeClicked(MouseEvent mouseEvent) { @@ -777,10 +805,12 @@ public class Controller { VBox tempVBox = new VBox(); tempVBox.setSpacing(20); tempVBox.setPadding(new Insets(30)); - TextField tempPositionText = new TextField("Enter Position Here"); - TextField tempWageText = new TextField("Enter Wage Here"); + Label positionLabel = new Label("Enter Position: "); + TextField tempPositionText = new TextField(); + Label wageLabel = new Label("Enter Wage: "); + TextField tempWageText = new TextField(); Button addPositionSubmit = new Button("Submit"); - tempVBox.getChildren().addAll(tempPositionText, tempWageText, addPositionSubmit); + tempVBox.getChildren().addAll(positionLabel, tempPositionText, wageLabel, tempWageText, addPositionSubmit); Scene tempScene = new Scene(tempVBox); Stage tempStage = new Stage(); tempStage.setScene(tempScene); @@ -788,8 +818,23 @@ public class Controller { addPositionSubmit.setOnMouseClicked(new EventHandler<MouseEvent>() { @Override public void handle(MouseEvent mouseEvent) { - System.out.println(model.addPosition(tempPositionText.getText(), Float.parseFloat(tempWageText.getText()))); - tempStage.close(); + String position = tempPositionText.getText(); + String wage = tempWageText.getText(); + if(position.isEmpty() || position.isBlank()){ + showErrorMessage("Position is blank. Please try again."); + } + else if(wage.isBlank() || wage.isEmpty()){ + showErrorMessage("Wage is blank. Please try again."); + } + else{ + try{ + Float.parseFloat(wage); + System.out.println(model.addPosition(position, Float.parseFloat(wage))); + tempStage.close(); + }catch(NumberFormatException e){ + showErrorMessage("Wage is not a valid. Please try again."); + } + } } }); }