59 lines
2.0 KiB
Java
59 lines
2.0 KiB
Java
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
public class Onlineshop {
|
|
private List<Produkt> produkte; // Achte darauf, dass der Typ korrekt ist
|
|
private Warenkorb warenkorb;
|
|
private List<Bestellung> bestellungen;
|
|
|
|
public Onlineshop() {
|
|
this.produkte = new ArrayList<>();
|
|
this.warenkorb = new Warenkorb();
|
|
this.bestellungen = new ArrayList<>();
|
|
}
|
|
|
|
// API: Produkt hinzufügen
|
|
public void produktHinzufuegen(Produkt produkt) { // Achte darauf, dass der Typ korrekt ist
|
|
produkte.add(produkt);
|
|
}
|
|
|
|
// API: Produkte zurückgeben (für Anzeige in der UI)
|
|
public List<Produkt> getProdukte() {
|
|
return produkte;
|
|
}
|
|
|
|
// API: Produkt in den Warenkorb legen
|
|
public boolean produktZuWarenkorbHinzufuegen(int produktId, int anzahl) {
|
|
for (Produkt produkt : produkte) { // Achte darauf, dass der Typ korrekt ist
|
|
if (produkt.getId() == produktId) {
|
|
warenkorb.produktHinzufuegen(produkt, anzahl);
|
|
return true;
|
|
}
|
|
}
|
|
return false; // Produkt nicht gefunden
|
|
}
|
|
|
|
// API: Produktanzahl im Warenkorb ändern
|
|
public void produktAendern(int produktId, int neueAnzahl) {
|
|
warenkorb.produktAendern(produktId, neueAnzahl);
|
|
}
|
|
|
|
// API: Produkt aus Warenkorb entfernen
|
|
public void produktEntfernen(int produktId) {
|
|
warenkorb.produktEntfernen(produktId);
|
|
}
|
|
|
|
// API: Bestellung aufgeben
|
|
public void bestellungAufgeben(String adresse, String name) {
|
|
Bestellung bestellung = new Bestellung(warenkorb, warenkorb.berechneVersandkosten());
|
|
bestellungen.add(bestellung);
|
|
System.out.println("Ihre Bestellung wurde erfolgreich aufgegeben:\n" + bestellung);
|
|
warenkorb.leeren(); // Warenkorb nach Bestellung leeren
|
|
}
|
|
|
|
// Setze den Kunden im Warenkorb (optional)
|
|
public void setKunde(String name, String adresse) {
|
|
warenkorb.setKunde(new Kunden(name, adresse));
|
|
}
|
|
}
|