diff --git a/ass2-service/trip/src/main/java/dst/ass2/service/trip/impl/TripService.java b/ass2-service/trip/src/main/java/dst/ass2/service/trip/impl/TripService.java index 5822c98..230c32d 100644 --- a/ass2-service/trip/src/main/java/dst/ass2/service/trip/impl/TripService.java +++ b/ass2-service/trip/src/main/java/dst/ass2/service/trip/impl/TripService.java @@ -117,11 +117,27 @@ public class TripService implements ITripService { entityManager.persist(newMatch); } + @Transactional @Override public void complete(Long tripId, TripInfoDTO tripInfoDTO) throws EntityNotFoundException { - + ITrip trip = getTrip(tripId); + ITripInfo tripInfo = modelFactory.createTripInfo(); + // Set tripInfo data + tripInfo.setCompleted(tripInfoDTO.getCompleted()); + tripInfo.setDistance(tripInfoDTO.getDistance()); + // Set total + IMoney money = modelFactory.createMoney(); + money.setCurrency(tripInfoDTO.getFare().getCurrency()); + money.setValue(tripInfoDTO.getFare().getValue()); + tripInfo.setTotal(money); + // Set trip and tripInfo + tripInfo.setTrip(trip); + trip.setTripInfo(tripInfo); + entityManager.persist(tripInfo); + entityManager.merge(trip); } + @Transactional @Override public void cancel(Long tripId) throws EntityNotFoundException {