diff --git a/OS-Abgabe/src/backend/Bestellung.java b/OS-Abgabe/src/backend/Bestellung.java index a1c89e9..9e13dbd 100644 --- a/OS-Abgabe/src/backend/Bestellung.java +++ b/OS-Abgabe/src/backend/Bestellung.java @@ -3,3 +3,5 @@ package backend; public class Bestellung { } + + diff --git a/OS-Abgabe/src/backend/Produkt.java b/OS-Abgabe/src/backend/Produkt.java index ec9cc85..68b9135 100644 --- a/OS-Abgabe/src/backend/Produkt.java +++ b/OS-Abgabe/src/backend/Produkt.java @@ -25,6 +25,10 @@ public class Produkt { this.name = neu; } + public double getPreis() { + return preis; + } + public String toString() { return id + " | " + name + " | " + preis + "€"; } diff --git a/OS-Abgabe/src/backend/Warenkorb.java b/OS-Abgabe/src/backend/Warenkorb.java index b3861cd..b4251a1 100644 --- a/OS-Abgabe/src/backend/Warenkorb.java +++ b/OS-Abgabe/src/backend/Warenkorb.java @@ -2,17 +2,36 @@ package backend; import java.util.ArrayList; public class Warenkorb { - private ArrayList inhalt; + public ArrayList inhalt; + private ArrayList positionen; public Warenkorb() { inhalt = new ArrayList(); + positionen = new ArrayList<>(); } public void produktHinzufügen(Produkt p, int menge) { for (int i = 0; i < menge; i++) { inhalt.add(p); } - } + + boolean gefunden = false; + for (WarenkorbPosition wp : positionen) { + if (wp.getProdukt().getName().equals(p.getName())) { + wp.setMenge(wp.getMenge() + menge); + gefunden = true; + break; + } + } + if (!gefunden) { + positionen.add(new WarenkorbPosition(p, menge)); + } + } + + public ArrayList getPositionen() { + return positionen; + } + public double berechneGesamtpreis() { double preis = 0; @@ -21,23 +40,12 @@ public class Warenkorb { return preis; } - public void anzeigen() { - if (inhalt.size() == 0) { - System.out.println(); - System.out.println(); - System.out.println("Ihr Warenkorb ist leer (˶ᵕ˶)⸝♡"); - System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و"); - System.out.println(); - System.out.println(); - System.out.println(); - } else { - System.out.println(); - System.out.println(); - System.out.println("(。•◡•。) Hier ist Ihr aktueller Warenkorb: "); - for (Produkt p : inhalt) { - System.out.println(p); - System.out.println("Ihre Summe beträgt " + berechneGesamtpreis() + "€ ૮˶ᵔᵕᵔ˶ა"); - } + + + public void bestellungSicht() { + for (WarenkorbPosition wp : positionen) { + System.out.println(wp.getMenge() + "x " + wp.getProdukt().getName() + " - " + wp.getProdukt().getPreis() + "€"); } } + } diff --git a/OS-Abgabe/src/backend/WarenkorbPosition.java b/OS-Abgabe/src/backend/WarenkorbPosition.java index 2bb9e90..1a41107 100644 --- a/OS-Abgabe/src/backend/WarenkorbPosition.java +++ b/OS-Abgabe/src/backend/WarenkorbPosition.java @@ -1,5 +1,25 @@ package backend; public class WarenkorbPosition { + + public Produkt produkt; + public int menge; + + public WarenkorbPosition(Produkt produkt, int menge) { + this.produkt = produkt; + this.menge = menge; + } + public Produkt getProdukt() { + return produkt; + } + + public int getMenge() { + return menge; + } + + + public void setMenge(int menge) { + this.menge = menge; + } } diff --git a/OS-Abgabe/src/tui/shopTUI.java b/OS-Abgabe/src/tui/shopTUI.java index d20e826..07be713 100644 --- a/OS-Abgabe/src/tui/shopTUI.java +++ b/OS-Abgabe/src/tui/shopTUI.java @@ -1,4 +1,5 @@ package tui; +import backend.WarenkorbPosition; import backend.OnlineShop; import backend.Produkt; import backend.Warenkorb; @@ -20,15 +21,13 @@ public class shopTUI { } public static void hauptmenü() { - System.out.println(); - System.out.println(" ⋆ ˚。⋆ Hauptmenü ⋆ ˚。⋆ "); + System.out.println("\n ⋆ ˚。⋆ Hauptmenü ⋆ ˚。⋆ "); System.out.println(" ⏔⏔⏔⏔⏔⏔⏔ ꒰ ᧔ෆ᧓ ꒱ ⏔⏔⏔⏔⏔⏔⏔ "); System.out.println(" Produktangebot "); System.out.println(" Produktsuche "); System.out.println(" Warenkorb "); System.out.println(" Beenden "); - System.out.println(" ⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔"); - System.out.println(); + System.out.println(" ⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔⏔ \n"); System.out.print("Bitte geben Sie eine der Optionen an: "); String eingabe = sc.nextLine().toLowerCase(); @@ -38,7 +37,7 @@ public class shopTUI { } else if (eingabe.equals("produktsuche")) { suche(); } else if (eingabe.equals("warenkorb")) { - warenkorb.anzeigen(); + warenkorbAnzeigen(); } else if (eingabe.equals("beenden")) { System.out.println("\n\n\n | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| "); System.out.println(" Auf Wiedersehen! "); @@ -137,4 +136,41 @@ public class shopTUI { hauptmenü(); } } + public static void warenkorbAnzeigen() { + if (warenkorb.getPositionen().size() == 0) { + System.out.println("\n\nIhr Warenkorb ist leer (˶ᵕ˶)⸝♡"); + System.out.println("Ab zum Hauptmenü... ٩(^ᗜ^ )و \n\n\n"); + hauptmenü(); + } else { + System.out.println("\n\n(。•◡•。) Hier ist Ihr aktueller Warenkorb: "); + for (WarenkorbPosition wp : warenkorb.getPositionen()) { + System.out.println(wp.getMenge() + "x | " + wp.getProdukt().getName() + " | " + wp.getProdukt().getPreis() + "€"); + } + System.out.printf("Ihre Summe beträgt %.1f€ ૮˶ᵔᵕᵔ˶ა%n", warenkorb.berechneGesamtpreis()); + System.out.println("\n\n\nMöchten Sie bestellen oder zurück zum Hauptmenü?: "); + String eingabe = sc.nextLine().toLowerCase(); + + if (eingabe.equals("hauptmenü")) { + hauptmenü(); + } else if (eingabe.equals("bestellen")) { + System.out.print("Bitte geben Sie Ihren vollständigen Namen ein: "); + String name = sc.nextLine(); + + System.out.print("\nBitte geben Sie Ihre Lieferadresse ein: "); + String adresse = sc.nextLine(); + + System.out.println("\n\n\n\n\n(\\ (\\"); + System.out.println("(„• ֊ •„) Danke schön für Ihre Bestellung!"); + System.out.println("━O━O━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"); + System.out.println("Name: "); + System.out.println(name); + System.out.println("Adresse: "); + System.out.println(adresse); + System.out.println("Artikel:" ); + warenkorb.bestellungSicht(); + System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━"); + } + } + } + }