-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathBookingMapper.java
More file actions
31 lines (27 loc) · 1.01 KB
/
BookingMapper.java
File metadata and controls
31 lines (27 loc) · 1.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package ru.practicum.shareit.booking;
import ru.practicum.shareit.item.Item;
import ru.practicum.shareit.item.ItemMapper;
import ru.practicum.shareit.user.User;
import ru.practicum.shareit.user.UserMapper;
public class BookingMapper {
public static Booking toBooking(BookingRequestDto dto, Item item, User booker) {
return Booking.builder()
.start(dto.getStart())
.end(dto.getEnd())
.item(item)
.booker(booker)
.status(Booking.BookingStatus.WAITING)
.build();
}
public static BookingDto toDto(Booking booking) {
if (booking == null) return null;
return BookingDto.builder()
.id(booking.getId())
.start(booking.getStart())
.end(booking.getEnd())
.status(booking.getStatus())
.booker(UserMapper.toUserDto(booking.getBooker()))
.item(ItemMapper.toItemDto(booking.getItem()))
.build();
}
}