-
Dennis Toth authoredDennis Toth authored
CoursesOfStudyModificationController.java 3.36 KiB
package de.thdeg.grademanager.gui;
import de.thdeg.grademanager.model.CoursesOfStudy;
import de.thdeg.grademanager.model.enumeration.BachelorDegree;
import de.thdeg.grademanager.model.enumeration.BachelorSemester;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.fxml.FXMLLoader;
import javafx.scene.Node;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.stage.Stage;
import java.io.IOException;
import java.util.Optional;
public class CoursesOfStudyModificationController {
@FXML
protected ComboBox<BachelorDegree> bachelorDegreeComboBox;
@FXML
protected ComboBox<BachelorSemester> durationComboBox;
ObservableList<BachelorDegree> bachelorDegreeList = FXCollections.observableArrayList(BachelorDegree.values());
ObservableList<BachelorSemester> durationList = FXCollections.observableArrayList(BachelorSemester.values());
@FXML
protected void initialize() {
bachelorDegreeComboBox.setItems(bachelorDegreeList);
durationComboBox.setItems(durationList);
}
@FXML
protected TextField name;
@FXML
protected BachelorDegree bachelorDegree;
@FXML
protected BachelorSemester duration;
@FXML
protected int fees;
@FXML
protected TextField courses;
@FXML
protected TextField fieldOfStudy;
@FXML
protected TextField warning;
@FXML
protected void onSaveButtonClick(ActionEvent event) throws IOException {
if (!name.getText().isBlank() && bachelorDegreeComboBox.getValue() != null &&
durationComboBox.getValue() != null && !fieldOfStudy.getText().isBlank()) {
bachelorDegree = bachelorDegreeComboBox.getValue();
duration = durationComboBox.getValue();
fees = 62;
MainController.coursesOfStudyList.add(new CoursesOfStudy(
MainController.coursesOfStudyList.size(),
name.getText(),
bachelorDegree,
2,
fees,
null,
fieldOfStudy.getText()));
SwitchWindowHelper.switchTo("Main", event);
} else {
warning.setText("Bitte alle Felder ausfüllen.");
Alert alert = new Alert(Alert.AlertType.ERROR);
alert.setTitle("Fehler");
alert.setHeaderText("Bitte alle Felder ausfüllen.");
Optional<ButtonType> result = alert.showAndWait();
}
}
@FXML
protected void abortAndSwitchToMain(ActionEvent event) throws IOException {
Alert alert = new Alert(Alert.AlertType.CONFIRMATION);
alert.setTitle("Bestätigung erforderlich");
alert.setHeaderText("Daten wurden nicht gespeichert. Änderungen verwerfen?");
ButtonType buttonTypeOne = new ButtonType("Ja");
ButtonType buttonTypeCancel = new ButtonType("Abbrechen", ButtonBar.ButtonData.CANCEL_CLOSE);
alert.getButtonTypes().setAll(buttonTypeOne, buttonTypeCancel);
Optional<ButtonType> result = alert.showAndWait();
if (result.get() == buttonTypeOne) {
SwitchWindowHelper.switchTo("Main", event);
}
}
@FXML
protected void switchToCourseModification(ActionEvent event) throws IOException {
SwitchWindowHelper.switchTo("Course Modification", event);
}
}