diff options
Diffstat (limited to 'src/main/java/at/ac/tuwien/sepm')
| -rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/userInterface/CreateOperationController.java | 74 | 
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(); +        } +    } + + +}  | 
