source: src/main/java/com/example/rezevirajmasa/demo/service/impl/ReservationHistoryServiceImpl.java

main
Last change on this file was b67dfd3, checked in by Aleksandar Panovski <apano77@…>, 13 days ago

Normalization needed to continue, till here done

  • Property mode set to 100644
File size: 2.5 KB
Line 
1package com.example.rezevirajmasa.demo.service.impl;
2
3import com.example.rezevirajmasa.demo.model.Reservation;
4import com.example.rezevirajmasa.demo.model.Restaurant;
5import com.example.rezevirajmasa.demo.model.User;
6import com.example.rezevirajmasa.demo.repository.ReservationHistoryRepository;
7import com.example.rezevirajmasa.demo.service.ReservationHistoryService;
8import org.springframework.stereotype.Service;
9
10import java.time.LocalDateTime;
11import java.util.List;
12
13@Service
14public class ReservationHistoryServiceImpl implements ReservationHistoryService {
15 private final ReservationHistoryRepository reservationHistoryRepository;
16
17 public ReservationHistoryServiceImpl(ReservationHistoryRepository reservationHistoryRepository) {
18 this.reservationHistoryRepository = reservationHistoryRepository;
19 }
20
21 @Override
22 public void moveReservationToHistory(Reservation reservation, String status, String cancellationReason) {
23 Restaurant.ReservationHistory history = new Restaurant.ReservationHistory();
24 history.setUser(reservation.getUser());
25 history.setTable(reservation.getTable());
26 history.setReservationDateTime(reservation.getReservationDateTime());
27 history.setPartySize(reservation.getPartySize());
28 history.setSpecialRequests(reservation.getSpecialRequests());
29 history.setStatus(status);
30 history.setCancellationReason(cancellationReason);
31 history.setRestaurant(reservation.getRestaurant());
32 history.setCheckInDate(reservation.getCheckInTime());
33 history.setCancellationReason(cancellationReason != null ? cancellationReason : "");
34
35 reservationHistoryRepository.save(history);
36 }
37
38 @Override
39 public List<Restaurant.ReservationHistory> findAll() {
40 return reservationHistoryRepository.findAll();
41 }
42
43 @Override
44 public List<Restaurant.ReservationHistory> findByUser(User user) {
45 return reservationHistoryRepository.findALlByUser(user);
46 }
47
48 @Override
49 public void moveReservationsToPast(List<Restaurant.ReservationHistory> reservationsToMove) {
50 for (Restaurant.ReservationHistory reservation : reservationsToMove) {
51 reservation.setStatus("Past");
52 }
53
54 reservationHistoryRepository.saveAll(reservationsToMove);
55 }
56
57 @Override
58 public List<Restaurant.ReservationHistory> findReservationsToMove(LocalDateTime currentTime) {
59 return reservationHistoryRepository.findAllByCheckInDateBefore(currentTime);
60 }
61}
Note: See TracBrowser for help on using the repository browser.