source: sources/app/src/main/java/parkup/services/ParkingSessionService.java@ 8588fcb

Last change on this file since 8588fcb 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
RevLine 
[ce6ad22]1package parkup.services;
2
3import org.springframework.beans.factory.annotation.Autowired;
4import org.springframework.stereotype.Service;
[97fbc67]5import parkup.data.Tablicka;
[ce6ad22]6import parkup.entities.ParkingSession;
7import parkup.repositories.ParkingSessionRepository;
8
[97fbc67]9import javax.transaction.Transactional;
[ce6ad22]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
[97fbc67]32 @Transactional
33 public void updateParkingSession(int parkingSessionId, String timeStart, String timeEnd, Tablicka tablicka) {
[ce6ad22]34 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId));
35 if (parkingSessionOpt.isPresent()) {
36 ParkingSession parkingSessionNov = parkingSessionRepository.findByPssId(parkingSessionId);
[97fbc67]37
[ce6ad22]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);
[97fbc67]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");
[ce6ad22]49 }
50 }
51
[97fbc67]52 public Optional<ParkingSession> deleteParkingSession(int parkingSessionId) {
[ce6ad22]53 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSessionId));
54 if (parkingSessionOpt.isPresent()) {
55 parkingSessionRepository.deleteByPssId(parkingSessionId);
[97fbc67]56 return parkingSessionOpt;
[ce6ad22]57 } else {
58 throw new IllegalStateException("ParkingSpace doesn't exist, therefore can't be deleted");
59 }
60 }
61
[97fbc67]62 public Optional<ParkingSession> addParkingSession(ParkingSession parkingSession) {
63 Optional<ParkingSession> parkingSessionOpt = Optional.ofNullable(parkingSessionRepository.findByPssId(parkingSession.getPssId()));
[ce6ad22]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);
[97fbc67]69 return parkingSessionOpt;
[ce6ad22]70 }
71 }
72}
Note: See TracBrowser for help on using the repository browser.