diff options
| author | Jacob Shimp <jrs9538@g.rit.edu> | 2025-10-08 19:31:45 -0400 |
|---|---|---|
| committer | Jacob Shimp <jrs9538@g.rit.edu> | 2025-10-08 19:31:45 -0400 |
| commit | 4a720e851d188688571e2f5c7f46b6389e9a429f (patch) | |
| tree | 8516b582587b245226f2db1603ad2ca0fd694cf2 /src/main/java/design/controller/userinput/menus/SelectUser.java | |
| parent | 030786488b2956b7da6b0a7fd460923d7b13a25f (diff) | |
| parent | bf6b01e5005618e6ccdfb4217311a8f94dd5a0dd (diff) | |
| download | designproject-design-6-4a720e851d188688571e2f5c7f46b6389e9a429f.tar.gz designproject-design-6-4a720e851d188688571e2f5c7f46b6389e9a429f.tar.bz2 designproject-design-6-4a720e851d188688571e2f5c7f46b6389e9a429f.zip | |
pull from main
Diffstat (limited to 'src/main/java/design/controller/userinput/menus/SelectUser.java')
| -rw-r--r-- | src/main/java/design/controller/userinput/menus/SelectUser.java | 46 |
1 files changed, 38 insertions, 8 deletions
diff --git a/src/main/java/design/controller/userinput/menus/SelectUser.java b/src/main/java/design/controller/userinput/menus/SelectUser.java index 82e2338..ffae559 100644 --- a/src/main/java/design/controller/userinput/menus/SelectUser.java +++ b/src/main/java/design/controller/userinput/menus/SelectUser.java @@ -7,12 +7,15 @@ import design.model.Golfer; import design.runtime.Session; import design.persistence.PersonalDatabase; +import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.Scanner; public class SelectUser extends Menu { private final PersonalDatabase personalDB = PersonalDatabase.INSTANCE; private final Action doAfter; + private final Scanner scanner = new Scanner(System.in); public SelectUser(Action doAfter) { this.doAfter = doAfter; @@ -25,17 +28,44 @@ public class SelectUser extends Menu { @Override public List<MenuOption> getMenuOptions() { - var l = new ArrayList<MenuOption>(); + var opts = new ArrayList<MenuOption>(); + for (Golfer i : personalDB.getGolfers()) { MenuOption menuOption = new MenuOption(i.getUsername(), () -> { - // Sets user in Session too - Session.setCurrentGolfer(i); - System.out.printf("Loaded user: %s%n", i.getUsername()); - doAfter.onCommand(); + System.out.print("Enter password: "); + var password = scanner.nextLine(); + if (i.checkPassword(password)) { + // Sets user in Session too + Session.setCurrentGolfer(i); + System.out.printf("Loaded user: %s%n", i.getUsername()); + doAfter.onAction(); + } else { + System.out.println("Incorrect password. "); + this.present(); + } }); - l.add(menuOption); + opts.add(menuOption); } - l.add(new MenuOption("<create>", () -> {})); - return l; + + opts.add(new MenuOption("<create>", () -> { + + System.out.print("Enter username: "); + var username = scanner.nextLine(); + + System.out.print("Enter full name: "); + var fullName = scanner.nextLine(); + + System.out.print("Enter password: "); + var password = scanner.nextLine(); + + try { + personalDB.addGolfer(new Golfer(fullName, username, password)); + } catch (IOException ex) { + throw new RuntimeException(ex); + } + this.present(); + })); + + return opts; } } |
