aboutsummaryrefslogtreecommitdiffstats
path: root/src/main/java/at/ac
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/ac')
-rw-r--r--src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java74
1 files changed, 74 insertions, 0 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
new file mode 100644
index 0000000..10f9f03
--- /dev/null
+++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java
@@ -0,0 +1,74 @@
+package at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.userInterface;
+
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Operation.Status;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.dto.Vehicle;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationService;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.OperationServiceImpl;
+import at.ac.tuwien.sepm.assignment.groupphase.einsatzverwaltung.service.VehicleService;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.InvalidOperationException;
+import at.ac.tuwien.sepm.assignment.groupphase.exception.ServiceException;
+import java.time.Instant;
+import java.util.LinkedList;
+import java.util.List;
+import javafx.fxml.FXML;
+import javafx.scene.control.Button;
+import javafx.scene.control.Label;
+import javafx.scene.control.ListView;
+import javafx.scene.control.TextField;
+import javafx.scene.layout.AnchorPane;
+
+public class CreateOperationController {
+
+ public AnchorPane apCreateOperation;
+ public TextField txtCode;
+ public TextField txtAddress;
+ public TextField txtNote;
+ public Button btnCreateOperation;
+ public ListView<Vehicle> lvVehicles;
+ public ListView lvActiveOperations;
+ public Label lblChosenVehicles;
+ public LinkedList<Vehicle> chosenVehicles;
+
+ OperationService operationService = new OperationServiceImpl();
+ VehicleService vehicleService = new VehicleServiceImpl();
+
+ public CreateOperationController() {}
+
+ @FXML
+ public void initialize() {
+ lvVehicles.setOnMouseClicked(
+ event -> {
+ if (event.getClickCount() == 2) {
+ chosenVehicles.add(lvVehicles.getSelectionModel().getSelectedItem());
+ }
+ });
+ }
+
+ @FXML
+ protected void createOperationClicked() {
+ Vehicle[] vehicles = new Vehicle[chosenVehicles.size()];
+ for (int i = 0; i < chosenVehicles.size(); i++) {
+ vehicles[i] = chosenVehicles.get(i);
+ }
+ Operation operation =
+ Operation.builder()
+ .additionalInfo(txtNote.getText())
+ .destination(txtAddress.getText())
+ .created(Instant.now())
+ .opCode(txtCode.getText())
+ .status(Status.ACTIVE)
+ .vehicles(List.of(vehicles))
+ .build();
+
+ try {
+ operationService.add(operation);
+ } catch (InvalidOperationException e) {
+ //TODO
+ } catch (ServiceException e) {
+ e.printStackTrace();
+ }
+ }
+
+
+}