Coverage Summary for Class: CarServiceImpl (org.softuni.cardealer.service)
Class | Class, % | Method, % | Line, % |
---|---|---|---|
CarServiceImpl | 100% (1/ 1) | 100% (5/ 5) | 100% (18/ 18) |
1 package org.softuni.cardealer.service;
2
3 import org.modelmapper.ModelMapper;
4 import org.softuni.cardealer.domain.entities.Car;
5 import org.softuni.cardealer.domain.models.service.CarServiceModel;
6 import org.softuni.cardealer.repository.CarRepository;
7 import org.springframework.beans.factory.annotation.Autowired;
8 import org.springframework.stereotype.Service;
9
10 @Service
11 public class CarServiceImpl implements CarService {
12
13 private final CarRepository carRepository;
14 private final ModelMapper modelMapper;
15
16 @Autowired
17 public CarServiceImpl(CarRepository carRepository, ModelMapper modelMapper) {
18 this.carRepository = carRepository;
19 this.modelMapper = modelMapper;
20 }
21
22 @Override
23 public CarServiceModel saveCar(CarServiceModel carServiceModel) {
24 Car car = this.modelMapper.map(carServiceModel, Car.class);
25 car = this.carRepository.saveAndFlush(car);
26
27 return this.modelMapper.map(car, CarServiceModel.class);
28
29 }
30
31 @Override
32 public CarServiceModel editCar(CarServiceModel carServiceModel) {
33 Car car = this.carRepository.findById(carServiceModel.getId()).orElse(null);
34 car.setMake(carServiceModel.getMake());
35 car.setModel(carServiceModel.getModel());
36 car.setTravelledDistance(carServiceModel.getTravelledDistance());
37
38 car = this.carRepository.saveAndFlush(car);
39
40 return this.modelMapper.map(car, CarServiceModel.class);
41
42 }
43
44 @Override
45 public CarServiceModel deleteCar(String id) {
46 Car car = this.carRepository.findById(id).orElse(null);
47
48 this.carRepository.delete(car);
49
50 return this.modelMapper.map(car, CarServiceModel.class);
51
52 }
53
54 @Override
55 public CarServiceModel findCarById(String id) {
56 Car car = this.carRepository.findById(id).orElse(null);
57
58 return this.modelMapper.map(car, CarServiceModel.class);
59
60 }
61 }