diff options
-rw-r--r-- | src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java index 74cb7a7..05a548c 100644 --- a/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java +++ b/src/main/java/at/ac/tuwien/sepm/assignment/groupphase/einsatzverwaltung/service/OperationServiceImpl.java @@ -82,18 +82,23 @@ public class OperationServiceImpl implements OperationService { "Der Schweregrad des Einsatzes konnte nicht ausgelesen werden!"); } operation = operation.toBuilder().status(Status.ACTIVE).build(); + + long operationId = -1; + try { + operationId = operationDAO.add(operation); + } catch (PersistenceException e) { + throw new ServiceException(e); + } + for (Vehicle vehicle : vehicles) { try { - operationDAO.connectVehicleToOperation(vehicle.id(), operation.id()); + operationDAO.connectVehicleToOperation(vehicle.id(), operationId); } catch (PersistenceException e) { throw new ServiceException(e); } } - try { - return operationDAO.add(operation); - } catch (PersistenceException e) { - throw new ServiceException(e); - } + + return operationId; } private boolean faultyInput(String name) { |