Coverage Summary for Class: SaleServiceImpl (org.softuni.cardealer.service)
Class | Class, % | Method, % | Line, % |
---|---|---|---|
SaleServiceImpl | 100% (1/ 1) | 100% (3/ 3) | 100% (11/ 11) |
1 package org.softuni.cardealer.service;
2
3 import org.modelmapper.ModelMapper;
4 import org.softuni.cardealer.domain.entities.CarSale;
5 import org.softuni.cardealer.domain.entities.PartSale;
6 import org.softuni.cardealer.domain.models.service.CarSaleServiceModel;
7 import org.softuni.cardealer.domain.models.service.PartSaleServiceModel;
8 import org.softuni.cardealer.domain.models.service.PartServiceModel;
9 import org.softuni.cardealer.repository.CarSaleRepository;
10 import org.softuni.cardealer.repository.PartSaleRepository;
11 import org.springframework.beans.factory.annotation.Autowired;
12 import org.springframework.stereotype.Service;
13
14 @Service
15 public class SaleServiceImpl implements SaleService {
16
17 private final CarSaleRepository carSaleRepository;
18 private final PartSaleRepository partSaleRepository;
19 private final ModelMapper modelMapper;
20
21 @Autowired
22 public SaleServiceImpl(CarSaleRepository carSaleRepository, PartSaleRepository partSaleRepository, ModelMapper modelMapper) {
23 this.carSaleRepository = carSaleRepository;
24 this.partSaleRepository = partSaleRepository;
25 this.modelMapper = modelMapper;
26 }
27
28 @Override
29 public CarSaleServiceModel saleCar(CarSaleServiceModel carSaleServiceModel) {
30 CarSale carSale = this.modelMapper.map(carSaleServiceModel, CarSale.class);
31 carSale = this.carSaleRepository.saveAndFlush(carSale);
32
33 return this.modelMapper.map(carSale, CarSaleServiceModel.class);
34 }
35
36 @Override
37 public PartSaleServiceModel salePart(PartSaleServiceModel partSaleServiceModel) {
38 PartSale partSale = this.modelMapper.map(partSaleServiceModel, PartSale.class);
39 partSale = this.partSaleRepository.saveAndFlush(partSale);
40
41 return this.modelMapper.map(partSale, PartSaleServiceModel.class);
42 }
43 }