- Timestamp:
- 12/24/21 23:31:23 (3 years ago)
- Branches:
- master
- Children:
- 9dd526f
- Parents:
- 8588fcb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/ParkingZoneService.java
r8588fcb r9ff45d6 2 2 3 3 import org.springframework.beans.factory.annotation.Autowired; 4 import org.springframework.data.jpa.repository.Modifying;5 4 import org.springframework.stereotype.Service; 6 5 import parkup.data.ParkingZoneLocation; 6 import parkup.entities.ParkingSession; 7 7 import parkup.entities.ParkingSpace; 8 8 import parkup.entities.ParkingZone; 9 9 import parkup.entities.Vraboten; 10 import parkup.repositories.ParkingSessionRepository; 11 import parkup.repositories.ParkingSpaceRepository; 10 12 import parkup.repositories.ParkingZoneRepository; 13 import parkup.repositories.VrabotenRepository; 11 14 12 15 import javax.transaction.Transactional; … … 19 22 public class ParkingZoneService { 20 23 private final ParkingZoneRepository parkingZoneRepository; 24 private final ParkingSpaceRepository parkingSpaceRepository; 25 private final VrabotenRepository vrabotenRepository; 26 private final ParkingSessionRepository parkingSessionRepository; 21 27 22 28 @Autowired 23 public ParkingZoneService(ParkingZoneRepository parkingZoneRepository ) {29 public ParkingZoneService(ParkingZoneRepository parkingZoneRepository, ParkingSpaceRepository parkingSpaceRepository, VrabotenRepository vrabotenRepository, ParkingSessionRepository parkingSessionRepository) { 24 30 this.parkingZoneRepository = parkingZoneRepository; 31 this.parkingSpaceRepository = parkingSpaceRepository; 32 this.parkingSessionRepository = parkingSessionRepository; 33 this.vrabotenRepository = vrabotenRepository; 25 34 } 26 35 … … 37 46 List<ParkingZone> parkingZones = this.parkingZoneRepository.findAll(); 38 47 List<String> parkingZonesNames = new ArrayList<>(); 39 for (ParkingZone pz : parkingZones) {48 for (ParkingZone pz : parkingZones) { 40 49 parkingZonesNames.add(pz.getPzName()); 41 50 } … … 65 74 } 66 75 67 <<<<<<< HEAD68 76 //TODO proveri dali ima odgovorni i dokolku ima dali postojat vo bazata 69 77 @Transactional 70 public ParkingZone updateParkingZone(int parkingZoneId, String pzName, int price, int capacity,78 public ParkingZone updateParkingZone(int parkingZoneId, String pzName, int price, 71 79 String location, int from, int to, String color, 72 List<ParkingSpace> parkingSpaces, ParkingZoneLocation parkingZoneLocation, List< Vraboten> odgovorniLica) {80 List<ParkingSpace> parkingSpaces, ParkingZoneLocation parkingZoneLocation, List<Integer> odgovorniLica) { 73 81 74 for(ParkingSpace space:parkingSpaces){ 75 System.out.println(space); 76 } 77 for(Vraboten v : odgovorniLica){ 78 System.out.println(v.toString()); 79 } 80 ======= 81 //TODO prati niza od objekti ParkingSpaces i prati objekt ParkingZoneLocation 82 @Transactional 83 public ParkingZone updateParkingZone(int parkingZoneId, String pzName, int price, int capacity, 84 String location, int from, int to, String color, 85 List<ParkingSpace> parkingSpaces, ParkingZoneLocation parkingZoneLocation) { 86 >>>>>>> 9504a097ce80831ea7e7130dff7215d5fbf8e939 87 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 88 if (parkingZoneOpt.isPresent()) { 82 //TODO prati niza od objekti ParkingSpaces i prati objekt ParkingZoneLocation 83 89 84 ParkingZone parkingZoneNov = parkingZoneRepository.findByPzId(parkingZoneId); 90 if (pzName != null && pzName.length() > 1 && !Objects.equals(parkingZoneNov.getPzName(), pzName)) { 91 Optional<ParkingZone> parkingZoneOpt1 = Optional.ofNullable(parkingZoneRepository.findByPzName(pzName)); 92 if (parkingZoneOpt1.isPresent()) { 93 throw new IllegalStateException("There is already a ParkingZone with the same name"); 85 if (parkingZoneNov!=null) { 86 if (pzName != null && pzName.length() > 1) { ; 87 if (parkingZoneNov.getPzName().equals(pzName)&&parkingZoneNov.getId()!=parkingZoneId) { 88 throw new IllegalStateException("There is already a ParkingZone with the same name"); 89 } 90 91 parkingZoneNov.setPzName(pzName); 94 92 } 95 93 96 parkingZoneNov.setPzName(pzName); 94 if (price != 0 && !Objects.equals(parkingZoneNov.getPrice(), price)) { 95 parkingZoneNov.setPrice(price); 96 } 97 98 if (location != null && location.length() > 0 && !Objects.equals(parkingZoneNov.getAddress(), location)) { 99 parkingZoneNov.setAddress(location); 100 } 101 102 if (from != 0 && !Objects.equals(parkingZoneNov.getFrom(), from)) { 103 parkingZoneNov.setFrom(from); 104 } 105 106 if (to != 0 && !Objects.equals(parkingZoneNov.getTo(), to)) { 107 parkingZoneNov.setTo(to); 108 } 109 110 if (color != null && color.length() > 0 && !Objects.equals(parkingZoneNov.getColor(), color)) { 111 parkingZoneNov.setColor(color); 112 } 113 114 if (parkingZoneLocation != null) { 115 parkingZoneNov.setParkingZoneLocation(parkingZoneLocation); 116 } 117 118 if (!parkingSpaces.isEmpty()) { 119 ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId); 120 // for(ParkingSpace space :parkingZone.getParkingSpaces()){ 121 // if(!parkingSpaces.contains(space)){ 122 // for(ParkingSession session: parkingSessionRepository.findByParkingZonePzName(pzName)){ 123 // if(session.getParkingSpace().getPsId()==space.getPsId()) 124 // throw new IllegalStateException("Vlegov vo iffot"); 125 // } 126 // } 127 // } 128 //TODO: treba da se opravi 129 parkingZone.setParkingSpaces(null); 130 List<ParkingSpace> spacesToAdd = new ArrayList<>(parkingSpaces); 131 parkingZone.setParkingSpaces(spacesToAdd); 132 } 133 if (!odgovorniLica.isEmpty()) { 134 ParkingZone parkingZone = parkingZoneRepository.findByPzId(parkingZoneId); 135 for (Integer vrabotenId : odgovorniLica) { 136 Vraboten vrabotenToAdd = vrabotenRepository.findByVrabotenId(vrabotenId); 137 if(vrabotenToAdd!=null) 138 vrabotenToAdd.getParkingZones().add(parkingZone); 139 } 140 } 141 142 143 return parkingZoneNov; 144 } else { 145 throw new IllegalStateException("There ParkingZone does not exist"); 97 146 } 147 } 98 148 99 if (price != 0 && !Objects.equals(parkingZoneNov.getPrice(), price)) { 100 parkingZoneNov.setPrice(price); 149 150 @Transactional 151 public Optional<ParkingZone> deleteParkingZone ( int parkingZoneId){ 152 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId)); 153 if (parkingZoneOpt.isPresent()) { 154 parkingZoneRepository.deleteByPzId(parkingZoneId); 155 } else { 156 throw new IllegalStateException("ParkingZone doesn't exist, therefore can't be deleted"); 101 157 } 102 103 if (capacity != 0 && !Objects.equals(parkingZoneNov.getCapacity(), capacity)) { 104 parkingZoneNov.setCapacity(capacity); 105 } 106 107 if (location != null && location.length() > 0 && !Objects.equals(parkingZoneNov.getLocation(), location)) { 108 parkingZoneNov.setLocation(location); 109 } 110 111 if (from != 0 && !Objects.equals(parkingZoneNov.getFrom(), from)) { 112 parkingZoneNov.setFrom(from); 113 } 114 115 if (to != 0 && !Objects.equals(parkingZoneNov.getTo(), to)) { 116 parkingZoneNov.setTo(to); 117 } 118 119 if (color != null && color.length() > 0 && !Objects.equals(parkingZoneNov.getColor(), color)) { 120 parkingZoneNov.setColor(color); 121 } 122 123 if(parkingZoneLocation!=null){ 124 parkingZoneNov.setParkingZoneLocation(parkingZoneLocation); 125 } 126 127 if(!parkingSpaces.isEmpty()){ 128 //TODO kreiraj lista od parkingSpaces, ni gi prakja false isHandicaped i isTaken 129 parkingZoneNov.setParkingSpaces(parkingSpaces); 130 } 131 <<<<<<< HEAD 132 if(!odgovorniLica.isEmpty()){ 133 134 parkingZoneNov.setOdgovorniLica(odgovorniLica); 135 } 136 ======= 137 >>>>>>> 9504a097ce80831ea7e7130dff7215d5fbf8e939 138 139 return parkingZoneNov; 140 } else { 141 throw new IllegalStateException("There ParkingZone does not exist"); 158 return parkingZoneOpt; 142 159 } 143 160 } 144 161 145 @Transactional146 public Optional<ParkingZone> deleteParkingZone(int parkingZoneId) {147 Optional<ParkingZone> parkingZoneOpt = Optional.ofNullable(parkingZoneRepository.findByPzId(parkingZoneId));148 if (parkingZoneOpt.isPresent()) {149 parkingZoneRepository.deleteByPzId(parkingZoneId);150 } else {151 throw new IllegalStateException("ParkingZone doesn't exist, therefore can't be deleted");152 }153 return parkingZoneOpt;154 }155 }
Note:
See TracChangeset
for help on using the changeset viewer.