source: sources/app/src/main/java/parkup/services/ParkingSessionService.java@ 97fbc67

Last change on this file since 97fbc67 was 97fbc67, checked in by andrejTavchioski <andrej.tavchioski@…>, 3 years ago

fixed deleteVraboten and deleteRegistriranParkirac

  • Property mode set to 100644
File size: 3.0 KB
Line 
1package parkup.services;
2
3import org.springframework.beans.factory.annotation.Autowired;
4import org.springframework.stereotype.Service;
5import parkup.data.Tablicka;
6import parkup.entities.ParkingSession;
7import parkup.repositories.ParkingSessionRepository;
8
9import javax.transaction.Transactional;
10import java.util.List;
11import java.util.Objects;
12import java.util.Optional;
13
14@Service
15public class ParkingSessionService {
16 private final ParkingSessionRepository parkingSessionRepository;
17
18 @Autowired
19 public ParkingSessionService(ParkingSessionRepository parkingSessionRepository) {
20 this.parkingSessionRepository = parkingSessionRepository;
21 }
22
23 public List<ParkingSession> getAllParkingSessions() {
24 return parkingSessionRepository.findAll();
25 }
26
27 public ParkingSession findById(int parkingSessionId) {
28 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId));
29 return parkingSessionOpt.orElse(null);
30 }
31
32 @Transactional
33 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd, Tablicka tablicka) {
34 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId));
35 if (parkingSessionOpt.isPresent()) {
36 ParkingSession parkingSessionNov = parkingSessionRepository.findByPssId(parkingSessionId);
37
38 if(!parkingSessionNov.getTimeStart().equals(timeStart) && !parkingSessionNov.getTimeStart().equals(timeEnd))
39 parkingSessionNov.setTimeStart(timeStart);
40
41 if(!parkingSessionNov.getTimeEnd().equals(timeEnd) && !parkingSessionNov.getTimeEnd().equals(timeStart))
42 parkingSessionNov.setTimeEnd(timeEnd);
43
44 if(tablicka!=null && !Objects.equals(parkingSessionNov.getTablica(),tablicka)){
45 parkingSessionNov.setTablica(tablicka);
46 }
47 }else{
48 throw new IllegalStateException("The ParkingSession does not exist");
49 }
50 }
51
52 public Optional<ParkingSession> deleteParkingSession(int parkingSessionId) {
53 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId));
54 if (parkingSessionOpt.isPresent()) {
55 parkingSessionRepository.deleteByPssId(parkingSessionId);
56 return parkingSessionOpt;
57 } else {
58 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted");
59 }
60 }
61
62 public Optional<ParkingSession> addParkingSession(ParkingSession parkingSession) {
63 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSession.getPssId()));
64 if (parkingSessionOpt.isPresent()) {
65 throw new IllegalStateException("ID already taken, ParkingSession cannot be added");
66 } else {
67 System.out.println(parkingSession);
68 parkingSessionRepository.save(parkingSession);
69 return parkingSessionOpt;
70 }
71 }
72}
Note: See TracBrowser for help on using the repository browser.