source: sources/app/src/main/java/parkup/services/RegistriranParkiracService.java@ ce6ad22

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

v1 initial prototype

  • Property mode set to 100644
File size: 3.3 KB
Line 
1package parkup.services;
2
3import java.util.List;
4import java.util.Objects;
5import java.util.Optional;
6import javax.transaction.Transactional;
7import org.springframework.beans.factory.annotation.Autowired;
8import org.springframework.stereotype.Service;
9import parkup.entities.RegistriranParkirac;
10import parkup.repositories.RegistriranParkiracRepository;
11
12@Service
13public class RegistriranParkiracService {
14 private final RegistriranParkiracRepository registriranParkiracRepository;
15
16 @Autowired
17 public RegistriranParkiracService(RegistriranParkiracRepository registriranParkiracRepository) {
18 this.registriranParkiracRepository = registriranParkiracRepository;
19 }
20
21 public List<RegistriranParkirac> getRegPark() {
22 return this.registriranParkiracRepository.findAll();
23 }
24
25 public void addRegPark(RegistriranParkirac regPark) {
26 Optional<RegistriranParkirac> regParkOpt = this.registriranParkiracRepository.findRegistriranParkiracByEmail(regPark.getEmail());
27 if (regParkOpt.isPresent()) {
28 throw new IllegalStateException("Email already taken, try adding a registriranParkirac with a different valid email address");
29 } else {
30 System.out.println(regPark);
31 this.registriranParkiracRepository.save(regPark);
32 }
33 }
34
35 @Transactional
36 public void updateRegPark(int regParkId, String name, String surname, String mobile, String email) {
37 Optional<RegistriranParkirac> regParkOpt = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));
38 if (regParkOpt.isPresent()) {
39 RegistriranParkirac regParkNov = this.registriranParkiracRepository.findByRegParkId(regParkId);
40 if (email != null && email.length() > 1 && email.contains("@") && !Objects.equals(regParkNov.getEmail(), email)) {
41 Optional<RegistriranParkirac> userOpt1 = this.registriranParkiracRepository.findRegistriranParkiracByEmail(email);
42 if (userOpt1.isPresent()) {
43 throw new IllegalStateException("email taken");
44 }
45
46 regParkNov.setEmail(email);
47 }
48
49 if (name != null && name.length() > 1 && !Objects.equals(regParkNov.getName(), name)) {
50 regParkNov.setName(name);
51 }
52
53 if (surname != null && surname.length() > 1 && !Objects.equals(regParkNov.getSurname(), surname)) {
54 regParkNov.setSurname(surname);
55 }
56
57 if (mobile != null && mobile.length() > 0 && !Objects.equals(regParkNov.getMobile(), mobile)) {
58 regParkNov.setMobile(mobile);
59 }
60 }
61 }
62
63 public void deleteRegPark(int regParkId) {
64 Optional<RegistriranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));
65 if (regPark.isPresent()) {
66 this.registriranParkiracRepository.deleteByRegParkId(regParkId);
67 } else {
68 throw new IllegalStateException("RegistriranParkirac doesn't exist, therefore can't be deleted");
69 }
70 }
71
72 public RegistriranParkirac findById(int regParkId) {
73 Optional<RegistriranParkirac> regPark = Optional.ofNullable(this.registriranParkiracRepository.findByRegParkId(regParkId));
74 return regPark.orElse(null);
75 }
76}
Note: See TracBrowser for help on using the repository browser.