info-java/Technikladen/TechStore.java

112 lines
2.7 KiB
Java
Executable File

import java.util.ArrayList;
import java.util.Scanner;
public class TechStore {
public static void p(String input) {
System.out.print(input);
}
public static void main(String[] args) {
StorageManager manager = new StorageManager();
OrderSystem system = new OrderSystem(manager);
Scanner scnr = new Scanner(System.in);
while (true) {
p("\nInput mode: ");
String input = scnr.nextLine();
if (input.equals("8")) {
break;
}
switch (Integer.parseInt(input)) {
case 1: {
p("Name: ");
String name = scnr.nextLine();
p("E-Mail: ");
String email = scnr.nextLine();
system.addClient(new Client(name, email));
break;
}
case 2: {
ArrayList<Client> clients = system.getClients();
if (clients.isEmpty()) {
System.out.println("No clients found");
break;
}
for (Client client : clients) {
System.out.println(client.toString());
}
break;
}
case 3: {
p("ID: ");
int id = Integer.parseInt(scnr.nextLine());
p("Name: ");
String name = scnr.nextLine();
p("Price: ");
int price = Integer.parseInt(scnr.nextLine());
p("Amount: ");
int amt = Integer.parseInt(scnr.nextLine());
system.addProduct(new Product(id, name, price, amt));
break;
}
case 4: {
system.showProducts();
break;
}
case 5: {
system.showProducts();
p("ID: ");
int id = Integer.parseInt(scnr.nextLine());
p("Amount: ");
int amt = Integer.parseInt(scnr.nextLine());
manager.increaseStorage(id, amt);
break;
}
case 6: {
system.showClients();
p("ID: ");
int clientID = Integer.parseInt(scnr.nextLine());
p("Date: ");
String date = scnr.nextLine();
Order order = new Order(clientID, date);
system.showProducts();
while (true) {
p("ID: ");
String id_str = scnr.nextLine();
if (id_str.equals("exit")) {
break;
}
int id = Integer.parseInt(id_str);
p("Amount: ");
int amt = Integer.parseInt(scnr.nextLine());
if (manager.getProductByID(id).getAmount() < amt) {
System.out.println("Amount chosen too high");
continue;
}
order.addEntry(new OrderEntry(system.getProductByID(id), amt));
}
system.createOrder(clientID, order);
break;
}
case 7: {
system.showClients();
p("ID: ");
int id = Integer.parseInt(scnr.nextLine());
int n = 0;
for (Order order : system.getClientByID(id).getOrders()) {
System.out.println((n++) + order.toString());
}
p("ID: ");
int order_id = Integer.parseInt(scnr.nextLine());
System.out.println(system.getClientByID(id).getOrders().get(order_id).createReceipt());
break;
}
case 8: {
return;
}
}
}
}
}