110 lines
4.1 KiB
Java

package com.bib.essensbestellungsverwaltung;
import java.util.Scanner;
/**
* simple cli showcase of the implemented functionality
* @author Malte Schulze Hobeling
*/
public class ConsoleMain {
//static User currentUser = null;
static boolean running = true;
public static void main(String[] args) {
boolean firstRun = Database.init();
if(firstRun){
Database.createDb();
Database.fillDb();
ConsoleLib.createWorkerPrompt();
}
AccountMgr.getPrice();
while (running){
if(AccountMgr.currentUser == null){
defaultMenu();
}else{
if(AccountMgr.currentUser.getClass().getSimpleName().equals("Worker")){
adminMenu();
}else if(AccountMgr.currentUser.getClass().getSimpleName().equals("Parent")){
parentMenu();
}
}
}
}
public static void defaultMenu(){
System.out.println("0: Programm beenden");
System.out.println("1: Login");
System.out.println("2: Essensplan anzeigen");
System.out.println("3: Registrieren");
System.out.print("Auswahl: ");
Scanner sc = new Scanner(System.in);
String selection = sc.nextLine();
switch (selection) {
case "0" -> running = false;
case "1" -> AccountMgr.currentUser = ConsoleLib.loginPrompt();
case "2" -> ConsoleLib.showFood_planPrompt();
case "3" -> ConsoleLib.createParentPrompt();
}
}
public static void adminMenu(){
System.out.println("0: Ausloggen");
System.out.println("1: Einen neuen Mitarbeiter anlegen");
System.out.println("2: Ein neues Elternteil anlegen");
System.out.println("3: Ein neues Kind anlegen");
System.out.println("4: Kind einem Elternteil zuordnen");
System.out.println("5: Ein neues Essen anlegen");
System.out.println("6: Einen Essensplan erstellen");
System.out.println("7: Essensplan anzeigen");
System.out.println("8: Essen auswählen");
System.out.println("9: Bestellungen des Tages sammeln");
System.out.println("10: Monatsabrechnung");
System.out.println("11: Preis ändern");
System.out.println("x1: Table");
System.out.println("x2: Löschen");
System.out.print("Auswahl: ");
Scanner sc = new Scanner(System.in);
String selection = sc.nextLine();
switch (selection) {
case "0" -> AccountMgr.currentUser = null;
case "1" -> ConsoleLib.createWorkerPrompt();
case "2" -> ConsoleLib.createParentPrompt();
case "3" -> ConsoleLib.createChildPrompt(String.valueOf(AccountMgr.currentUser.getId()));
case "4" -> ConsoleLib.matchParentChildPrompt(String.valueOf(AccountMgr.currentUser.getId()));
case "5" -> ConsoleLib.createFoodPrompt();
case "6" -> ConsoleLib.createFood_planPrompt();
case "7" -> ConsoleLib.showFood_planPrompt();
case "8" -> ConsoleLib.createFood_selectionPrompt();
case "9" -> ConsoleLib.dayOrderPrompt();
case "10" -> ConsoleLib.invoicePrompt();
case "11" -> ConsoleLib.changePricePrompt();
case "x1" -> ConsoleLib.tablePrompt();
case "x2" -> ConsoleLib.deletePrompt();
}
}
public static void parentMenu(){
System.out.println("0: Ausloggen");
System.out.println("3: Ein neues Kind anlegen");
System.out.println("7: Essensplan anzeigen");
System.out.println("8: Essen auswählen");
System.out.print("Auswahl: ");
Scanner sc = new Scanner(System.in);
String selection = sc.nextLine();
switch (selection) {
case "0" -> AccountMgr.currentUser = null;
case "3" -> ConsoleLib.createChildPrompt(String.valueOf(AccountMgr.currentUser.getId()));
case "x1" -> ConsoleLib.tablePrompt();
case "7" -> ConsoleLib.showFood_planPrompt();
case "8" -> ConsoleLib.createFood_selectionPrompt();
}
}
}