package OnlineShop.UI;
import java.util.Scanner;
import OnlineShop.domain.*;
import OnlineShop.domain.ExceptionsKlassen.*;


public class TUI {

	private Kaufhalle kaufhalle;
	private Scanner eingabe = new Scanner(System.in);

	private String optionAuswahl;

	public TUI() throws Exception {
		this.kaufhalle = new Kaufhalle();
		startProgramm();
	}

	private void startProgramm() throws Exception {
		System.out.println("<< Willkommen in meinem Online Shop >>");
		System.out.println();
		if (kaufhalle.produkteLadenImSystem()) {
			System.out.println("Meine aktuelle Produkte: ");

			for (String p : kaufhalle.zeigeProdukte())
				System.out.println(p);
		}
		System.out.println();
		shwoOptions();
	}

	private void shwoOptions() throws Exception {
		boolean programmAktive = true;
		while (programmAktive) {
			System.out.println("Wählen Sie bitte ein Option aus: ");
			System.out.println("1. Produkte auswählen");
			System.out.print("> ");
			optionAuswahl = eingabe.nextLine();

			switch (optionAuswahl) {
			case "1":
				WarenkorbEditieren();
				break;

			}
		}
	}
	
	private void WarenkorbEditieren() throws Exception {
		boolean einkaufAktive = true;
		String weiterEinkaufen;
		while (einkaufAktive) {
			System.out.println("1. Prpdukte auswählen und zu Ihrem Warenkorb senden");
			System.out.print("> ");
			optionAuswahl = eingabe.nextLine();
			
			switch(optionAuswahl) {
				case "1":
					while (true) {
						System.out.print("Name der Produkt: > ");
						String produktName = eingabe.nextLine();
						System.out.print("Menge > ");
						int	menge = eingabe.nextInt();
						try {
							kaufhalle.addProduktZuWarenkorb(produktName,menge);
						} catch (ProduktNichtGefundenException e) {
							System.out.println(e.getMessage());
						}
						
						System.out.println("Weitere Produkte auswählen Ja/Nein");
						System.out.print(">");
						weiterEinkaufen = eingabe.nextLine();
						if (weiterEinkaufen.equalsIgnoreCase("ja"))
							continue;
						else
							break;
					}
			}
		}
		
	}
	

//	private void ProdukteAuwählenUI() throws Exception {
//		boolean einkaufAktive = true;
//		String weiterEinkaufen;
//		int menge;
//		while (einkaufAktive) {
//			System.out.println("Wählen Sie bitte ein Option aus: ");
//			System.out.println("1. Prpdukte auswählen und zu Ihrem Warenkorb senden");
//			System.out.println("2. Prpdukte aus dem Warenkorb löschen");
//			System.out.println("3. Zurück zum Hauptmenu");
//			System.out.print("> ");
//			optionAuswahl = eingabe.nextLine();
//			switch (optionAuswahl) {
//			case "1":
//				while (true) {
//					System.out.print("Name der Produkt: > ");
//					String produktName = eingabe.nextLine();
//					
//					System.out.print("Menge > ");
//					menge = eingabe.nextInt();
//					try {
//						kaufhalle.addProduktZuWarenkorb(produktName,menge);
//						for (String p : kaufhalle.zeigeProdukte())
//							System.out.println(p);
//					} catch (ProduktNichtGefundenException e) {
//						System.out.println(e.getMessage());
//					}
//					System.out.println(
//							"Anzahl Ihre ausgewählte Produkte: " + kaufhalle.getAnzahlDerAusgewählteProdukte());
//					System.out.println("Weitere Produkte auswählen Ja/Nein");
//					System.out.print(">");
//					weiterEinkaufen = eingabe.nextLine();
//					if (weiterEinkaufen.equalsIgnoreCase("ja"))
//						continue;
//					else
//						break;
//				}
//				break;
//
//			case "2":
//				while (true) {
//					System.out.print("Name der Produkt: > ");
//					String produktName = eingabe.nextLine();
////					if (kaufhalle.loescheProduktausWarenkorb(produktName) == true) {
////						System.out.println("Produkt erfolgreich gelöscht");
////						System.out.println(
////								"Anzahl Ihre ausgewählte Produkte: " + kaufhalle.getAnzahlDerAusgewählteProdukte());
////					} else
////						System.out.println("Produkt ist nicht in Ihrem Warenkorb");
//
//					System.out.println("Weiter Produkte aus dem Wrenkorb löschen Ja/Nein");
//					System.out.print(">");
//					String weitereProdukteLoeschen = eingabe.nextLine();
//					if (weitereProdukteLoeschen.equalsIgnoreCase("ja"))
//						continue;
//					else
//						break;
//				}
//				break;
//
//			case "3":
//				System.out.println("Anzahl Ihre ausgewählte Produkte: " + kaufhalle.getAnzahlDerAusgewählteProdukte());
//				shwoOptions();
//				break;
//
//			}
//		}
//		System.out.println("Anzahl Ihre ausgewählte Produkte: " + kaufhalle.getAnzahlDerAusgewählteProdukte());
//	}
}
