1 package io.extact.rms.client.console.ui.member;
2
3 import static io.extact.rms.client.console.ui.textio.TextIoUtils.*;
4
5 import lombok.RequiredArgsConstructor;
6
7 import io.extact.rms.client.api.dto.UserAccountClientDto;
8 import io.extact.rms.client.console.ui.TransitionMap.RmsScreen;
9 import io.extact.rms.client.console.ui.TransitionMap.Transition;
10
11 public class MemberMainScreen implements RmsScreen {
12
13 @RequiredArgsConstructor
14 public enum MemberMenuList {
15
16 INQUIRY("予約照会", Transition.INQUIRY_RESERVATION),
17 ENTRY("レンタル品予約", Transition.ENTRY_RESERVATRION),
18 CANCEL("予約キャンセル", Transition.CANCEL_RESERVATRION),
19 RELOGIN("再ログイン", Transition.LOGIN),
20 END("終了", Transition.END);
21
22 private final String name;
23 private final Transition transition;
24
25 Transition getTransition() {
26 return transition;
27 }
28
29 @Override
30 public String toString() {
31 return name;
32 }
33 }
34
35 @Override
36 public Transition play(UserAccountClientDto loginUser, boolean printHeader) {
37
38 printScreenHeader(loginUser, "レンタル会員サービスメニュー画面");
39
40 var selectedMenu = newEnumInputReader(MemberMenuList.class)
41 .read("メニュー番号を入力して下さい。");
42
43 return selectedMenu.getTransition();
44 }
45
46 }