private void moveCurrentCarToCarHistory(Employee employee) { Car currentCar = carRepository.findOne(employee.getCurrentCar().getId()); Set<Car> carHistory = employee.getCarHistory(); carHistory.add(employee.getCurrentCar()); if (currentCar.getEndLeasing().isAfter(LocalDate.now()) && !(currentCar.getEndLeasing().isEqual(LocalDate.now()))) { currentCar.setInThePool(true); } carRepository.save(currentCar); }
public void updateEmployee(EmployeeDTO employeeDTO) { Employee employee = employeeRepository.findOneByEmail(employeeDTO.getEmail()).get(); if (checkIfValidEntity(employee)) { employee.setFunctionalLevel(employeeDTO.getFunctionalLevel()); employee.setActive(employeeDTO.getActive()); if (employeeDTO.getActive() == false && employee.getCurrentCar() != null) { moveCurrentCarToCarHistory(employee); } employeeRepository.save(employee); } }
@Override public CarDTO assignCarToEmployee( Order order, int leasingDurationInYears, String numberPlate, String vinNumber) { Employee employee = order.getEmployee(); if (employee.getCurrentCar() != null) { moveCurrentCarToCarHistory(employee); } Car car = createNewCarFromOrder(order, leasingDurationInYears, numberPlate, vinNumber); employee.setCurrentCar(car); employeeRepository.save(employee); return CarMapper.mapCarObjectToCarDTO(car); }
@Override public CarDTO assignPoolCarToEmployee(EmployeeDTO employeeDTO, CarDTO carDTO) { Employee employee = employeeRepository.findOneByEmail(employeeDTO.getEmail()).get(); updatePoolCar(carRepository.findOne(carDTO.getId())); Car currentCar = employee.getCurrentCar(); if (currentCar != null) { Set<Car> carHistory = employee.getCarHistory(); currentCar.setEndLeasing(LocalDate.now()); carHistory.add(currentCar); } employee.setCurrentCar(carRepository.findOne(carDTO.getId())); employee.setReceivedMailForNewCar(false); employeeRepository.save(employee); return carDTO; }