diff options
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java index 94210e4..be0bfff 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/missioncontrol/controller/RegistrationWindowController.java @@ -94,13 +94,16 @@ public class RegistrationWindowController { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23); cbStart.setItems(hours); - cbStart.setValue(0); cbEnd.setItems(hours); - cbEnd.setValue(12); - + setDefaultTime(); // reset(); } + private void setDefaultTime() { + cbStart.setValue(LocalDateTime.now().getHour()); + cbEnd.setValue((LocalDateTime.now().getHour() + 4) % 24); + } + private void updateEmplList() { employeeListController.deselectAllEmployees(); @@ -215,6 +218,7 @@ public class RegistrationWindowController { lVehicles.setText("-"); updateVehList(); updateEmplList(); + setDefaultTime(); } public void create() { @@ -225,21 +229,28 @@ public class RegistrationWindowController { if (chosenVehicle == null) { throw new InvalidVehicleException("no Vehicle"); } + + LocalDateTime startDate = + LocalDateTime.of( + LocalDate.now(), + LocalTime.of( + cbStart.getValue(), + LocalDateTime.now().getMinute(), + LocalDateTime.now().getSecond())); + + LocalDateTime endDate = + LocalDateTime.of( + LocalDate.now() + .plusDays(cbStart.getValue() >= cbEnd.getValue() ? 1 : 0), + LocalTime.of(cbEnd.getValue(), 0)); + for (Employee employee : chosenEmployees) { registrations.add( Registration.builder() .id(chosenVehicle.id()) .employee(employee) - .start( - LocalDateTime.of( - LocalDate.now(), - LocalTime.of(cbStart.getValue(), 0)) - .toInstant(OffsetDateTime.now().getOffset())) - .end( - LocalDateTime.of( - LocalDate.now(), - LocalTime.of(cbEnd.getValue(), 0)) - .toInstant(OffsetDateTime.now().getOffset())) + .start(startDate.toInstant(OffsetDateTime.now().getOffset())) + .end(endDate.toInstant(OffsetDateTime.now().getOffset())) .build()); } |