source: src/main/java/com/example/rezevirajmasa/demo/dto/ReservationDTO.java

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

Final version for DB

  • Property mode set to 100644
File size: 3.8 KB
Line 
1package com.example.rezevirajmasa.demo.dto;
2
3import com.example.rezevirajmasa.demo.model.PreorderedItem;
4import com.example.rezevirajmasa.demo.model.Reservation;
5import com.example.rezevirajmasa.demo.model.Restaurant;
6import lombok.Setter;
7
8import java.math.BigDecimal;
9import java.time.LocalDateTime;
10import java.util.List;
11import java.util.stream.Collectors;
12
13@Setter
14public class ReservationDTO {
15 private Long reservationID;
16 private String userEmail;
17 private BigDecimal rating;
18 private Long tableNumber;
19 private LocalDateTime reservationDateTime;
20 private LocalDateTime checkInTime;
21 private Long restaurantId;
22 private int partySize;
23 private String reservationStatus;
24 private String specialRequests;
25 private String paymentStatus;
26 private List<PreorderedItemDto> preOrderedItems;
27
28 public ReservationDTO() {
29 }
30
31 public ReservationDTO(Long reservationID, String userEmail, BigDecimal rating, Long tableNumber,
32 LocalDateTime reservationDateTime, LocalDateTime checkInTime, Long restaurantId,
33 int partySize, String reservationStatus, String specialRequests,
34 String paymentStatus, List<PreorderedItemDto> preOrderedItems) {
35 this.reservationID = reservationID;
36 this.userEmail = userEmail;
37 this.rating = rating;
38 this.tableNumber = tableNumber;
39 this.reservationDateTime = reservationDateTime;
40 this.checkInTime = checkInTime;
41 this.restaurantId = restaurantId;
42 this.partySize = partySize;
43 this.reservationStatus = reservationStatus;
44 this.specialRequests = specialRequests;
45 this.paymentStatus = paymentStatus;
46 this.preOrderedItems = preOrderedItems;
47 }
48
49 public ReservationDTO(Reservation reservation) {
50 this.reservationID = reservation.getReservationID();
51 this.userEmail = reservation.getUser().getEmail();
52 this.rating = reservation.getRestaurant().getRating();
53 this.tableNumber = reservation.getTable().getId();
54 this.reservationDateTime = reservation.getReservationDateTime();
55 this.checkInTime = reservation.getCheckInTime();
56 this.restaurantId = reservation.getRestaurant().getRestaurantId();
57 this.partySize = reservation.getPartySize();
58 this.reservationStatus = reservation.getReservationStatus();
59 this.specialRequests = reservation.getSpecialRequests();
60 this.paymentStatus = reservation.getPaymentStatus();
61
62 this.preOrderedItems = reservation.getPreOrderedItems().stream()
63 .map(preorderedItem -> new PreorderedItemDto(
64 preorderedItem.getPreorderedItemName(),
65 preorderedItem.getQuantity(),
66 preorderedItem.getPrice(),
67 preorderedItem.getMenu().getMenuID()))
68 .collect(Collectors.toList());
69 }
70
71 public Long getReservationID() {
72 return reservationID;
73 }
74
75 public String getUserEmail() {
76 return userEmail;
77 }
78
79 public BigDecimal getRating() {
80 return rating;
81 }
82
83 public Long getTableNumber() {
84 return tableNumber;
85 }
86
87 public LocalDateTime getReservationDateTime() {
88 return reservationDateTime;
89 }
90
91 public LocalDateTime getCheckInTime() {
92 return checkInTime;
93 }
94
95 public Long getRestaurantId() {
96 return restaurantId;
97 }
98
99 public int getPartySize() {
100 return partySize;
101 }
102
103 public String getStatus() {
104 return reservationStatus;
105 }
106
107 public String getSpecialRequests() {
108 return specialRequests;
109 }
110
111 public String getPaymentStatus() {
112 return paymentStatus;
113 }
114
115 public List<PreorderedItemDto> getPreOrderedItems() {
116 return preOrderedItems;
117 }
118
119}
Note: See TracBrowser for help on using the repository browser.