source: sources/app/src/main/java/parkup/services/VrabotenService.java@ 3a58bd6

Last change on this file since 3a58bd6 was ce6ad22, checked in by DavidTrajkovski <davidtrajkovski11@…>, 3 years ago

v1 initial prototype

  • Property mode set to 100644
File size: 3.0 KB
Line 
1package parkup.services;
2
3import java.util.List;
4import java.util.Objects;
5import java.util.Optional;
6import java.util.UUID;
7import javax.transaction.Transactional;
8import org.springframework.beans.factory.annotation.Autowired;
9import org.springframework.stereotype.Service;
10import parkup.entities.Vraboten;
11import parkup.repositories.VrabotenRepository;
12
13@Service
14public class VrabotenService {
15 private final VrabotenRepository vrabotenRepository;
16
17 @Autowired
18 public VrabotenService(VrabotenRepository vrabotenRepository) {
19 this.vrabotenRepository = vrabotenRepository;
20 }
21
22 public List<Vraboten> getVraboteni() {
23 return this.vrabotenRepository.findAll();
24 }
25
26 public Vraboten findById(int vrabotenId) {
27 Optional<Vraboten> vraboten = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId));
28 return vraboten.orElse(null);
29 }
30
31 public void addVraboten(Vraboten vraboten) {
32 Optional<Vraboten> vrabotenOpt = this.vrabotenRepository.findVrabotenByEmail(vraboten.getEmail());
33 if (vrabotenOpt.isPresent()) {
34 throw new IllegalStateException("Email already taken, try adding a vraboten with a different valid email address");
35 } else {
36 System.out.println(vraboten);
37 this.vrabotenRepository.save(vraboten);
38 }
39 }
40
41 @Transactional
42 public void updateVraboten(int vrabotenId, String firstName, String lastName, String mobile, String email) {
43 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId));
44 if (vrabotenOpt.isPresent()) {
45 Vraboten vrabotenNov = this.vrabotenRepository.findByVrabotenId(vrabotenId);
46 if (email != null && email.length() > 1 && email.contains("@") && !Objects.equals(vrabotenNov.getEmail(), email)) {
47 Optional<Vraboten> userOpt1 = this.vrabotenRepository.findVrabotenByEmail(email);
48 if (userOpt1.isPresent()) {
49 throw new IllegalStateException("email taken");
50 }
51
52 vrabotenNov.setEmail(email);
53 }
54
55 if (firstName != null && firstName.length() > 1 && !Objects.equals(vrabotenNov.getFirstName(), firstName)) {
56 vrabotenNov.setFirstName(firstName);
57 }
58
59 if (lastName != null && lastName.length() > 1 && !Objects.equals(vrabotenNov.getLastName(), lastName)) {
60 vrabotenNov.setLastName(lastName);
61 }
62
63 if (mobile != null && mobile.length() > 0 && !Objects.equals(vrabotenNov.getMobile(), mobile)) {
64 vrabotenNov.setMobile(mobile);
65 }
66 }
67 }
68
69 public void deleteVraboten(int vrabotenId) {
70 Optional<Vraboten> vrabotenOpt = Optional.ofNullable(this.vrabotenRepository.findByVrabotenId(vrabotenId));
71 if (vrabotenOpt.isPresent()) {
72 this.vrabotenRepository.deleteByVrabotenId(vrabotenId);
73 } else {
74 throw new IllegalStateException("Vraboten doesn't exist, therefore can't be deleted");
75 }
76 }
77}
Note: See TracBrowser for help on using the repository browser.