source: src/main/java/com/example/baziproekt/service/impl/ProizvodiServiceImpl.java@ 0e4d807

Last change on this file since 0e4d807 was 0e4d807, checked in by Ivona <ivonatapshanovska@…>, 10 months ago

Initial commit

  • Property mode set to 100644
File size: 2.8 KB
Line 
1package com.example.baziproekt.service.impl;
2
3import com.example.baziproekt.model.Kompanija;
4import com.example.baziproekt.model.Proizvodi;
5import com.example.baziproekt.model.exceptions.InvalidArgumentsException;
6import com.example.baziproekt.model.exceptions.InvalidKompanijaException;
7import com.example.baziproekt.model.exceptions.ProductNotFoundException;
8import com.example.baziproekt.repository.KompanijaRepository;
9import com.example.baziproekt.repository.ProizvodiRepository;
10import com.example.baziproekt.service.ProizvodiService;
11import org.springframework.stereotype.Service;
12
13import java.util.List;
14import java.util.Random;
15
16@Service
17public class ProizvodiServiceImpl implements ProizvodiService {
18
19 private final ProizvodiRepository repository;
20 private final KompanijaRepository kompanijaRepository;
21
22 public ProizvodiServiceImpl(ProizvodiRepository repository, KompanijaRepository kompanijaRepository) {
23 this.repository = repository;
24 this.kompanijaRepository = kompanijaRepository;
25 }
26
27 @Override
28 public Proizvodi findById(Integer id) {
29 return repository.findByIds(id).orElseThrow(InvalidArgumentsException::new);
30 }
31
32 @Override
33 public List<Proizvodi> listAll() {
34 return repository.findAll();
35 }
36
37 @Override
38 public List<Proizvodi> findByName(String name) {
39 if(name==null ||name.isEmpty())
40 {
41 throw new InvalidArgumentsException();
42 }
43 return repository.findProizvodiByName(name);
44 }
45
46 @Override
47 public List<Proizvodi> findByKompanija(String ime) {
48
49 if(ime==null ||ime.isEmpty())
50 {
51 throw new InvalidArgumentsException();
52 }
53 Kompanija kompanija=kompanijaRepository.findKompanijaByIme(ime);
54 return repository.findProizvodiByIme(kompanija);
55 }
56
57 @Override
58 public Proizvodi create(Integer kolicina, String name, String boja, String karakteristiki, String kompanijaName) {
59 Kompanija kompanija=kompanijaRepository.findKompanijaByIme(kompanijaName);
60 if(kompanija==null)
61 { throw new InvalidKompanijaException();}
62
63
64 Proizvodi proizvod=new Proizvodi(kolicina,name,boja,karakteristiki,kompanija);
65 return repository.save(proizvod);
66 }
67
68 @Override
69 public Proizvodi update(Integer id, Integer kolicina, String name, String boja, String karakteristiki, String kompanijaName) {
70 Proizvodi proizvod=repository.findByIds(id).orElseThrow(ProductNotFoundException::new);
71 proizvod.setBoja(boja);
72 proizvod.setName(name);
73 proizvod.setKarakteristiki(karakteristiki);
74 proizvod.setKolicina(kolicina);
75
76 Kompanija kompanija=kompanijaRepository.findKompanijaByIme(kompanijaName);
77 if(kompanija==null)
78 { throw new InvalidKompanijaException();}
79 proizvod.setIme(kompanija);
80 return repository.save(proizvod);
81
82 }
83}
Note: See TracBrowser for help on using the repository browser.