Verwaltung des Online Shops hinzugefügt
parent
1e6cb8ba1b
commit
fa33655778
|
@ -0,0 +1,149 @@
|
|||
package de.hs_mannheim.informatik.domain;
|
||||
|
||||
|
||||
import java.sql.Date;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
public class OnlineShopVerwaltung {
|
||||
private Warenkorb warenkorb = new Warenkorb();
|
||||
|
||||
// 1. Produkte anzeigen
|
||||
public void produkteAnzeigen() {
|
||||
System.out.println("Verfügbare Produkte:");
|
||||
System.out.println();
|
||||
for (Produkt produkt : Produkt.produktListe) {
|
||||
System.out.println(produkt.getName() + " - " + produkt.getBeschreibung() + " - Preis: " + produkt.getPreis()
|
||||
+ " € - Bestand: " + produkt.getBestand() + " - Gewicht: " + produkt.getGewicht() + " Gramm");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 2. Produkt zum Warenkorb hinzufügen (Parameter statt Scanner)
|
||||
public void produktZumWarenkorbHinzufuegen(String produktName, int anzahl) {
|
||||
Produkt produkt = Produkt.produktfinden(produktName);
|
||||
if (produkt != null) {
|
||||
if (anzahl <= produkt.getBestand()) {
|
||||
warenkorb.produktHinzufuegen(produkt, anzahl);
|
||||
produkt.setBestand(produkt.getBestand() - anzahl); // Bestand verringern
|
||||
System.out.println("Produkt wurde zum Warenkorb hinzugefügt.");
|
||||
} else {
|
||||
System.out.println("Nicht genug Bestand verfügbar.");
|
||||
}
|
||||
} else {
|
||||
System.out.println("Produkt nicht gefunden.");
|
||||
}
|
||||
}
|
||||
|
||||
// 3. Warenkorb Produkt entfernen
|
||||
public void produktAusWarenkorbEntfernen(String produktName) {
|
||||
Produkt produkt = Produkt.produktfinden(produktName);
|
||||
if (produkt != null && warenkorb.getProduktanzahl().containsKey(produkt)) {
|
||||
// Produkt zurück ins Lager legen (Bestand erhöhen)
|
||||
produkt.setBestand(produkt.getBestand() + warenkorb.getProduktanzahl().get(produkt));
|
||||
// Produkt aus dem Warenkorb entfernen
|
||||
warenkorb.getProduktanzahl().remove(produkt);
|
||||
System.out.println("Produkt wurde aus dem Warenkorb entfernt.");
|
||||
} else {
|
||||
System.out.println("Produkt ist nicht im Warenkorb vorhanden.");
|
||||
}
|
||||
}
|
||||
|
||||
// 3. Warenkorb bearbeiten (Parameter statt Scanner)
|
||||
public void warenkorbBearbeiten(String produktName, int neueAnzahl) {
|
||||
// Finde das Produkt im Warenkorb
|
||||
Produkt produkt = Produkt.produktfinden(produktName);
|
||||
if (produkt != null && warenkorb.getProduktanzahl().containsKey(produkt)) {
|
||||
// Hole die aktuelle Anzahl des Produkts im Warenkorb
|
||||
int aktuelleAnzahlImWarenkorb = warenkorb.getProduktanzahl().get(produkt);
|
||||
|
||||
// Erhöhe den Lagerbestand um die aktuelle Anzahl im Warenkorb
|
||||
produkt.setBestand(produkt.getBestand() + aktuelleAnzahlImWarenkorb);
|
||||
|
||||
if (neueAnzahl > 0 && neueAnzahl <= produkt.getBestand()) {
|
||||
// Aktualisiere den Warenkorb mit der neuen Anzahl
|
||||
warenkorb.produktHinzufuegen(produkt, neueAnzahl);
|
||||
// Verringere den Bestand entsprechend der neuen Anzahl
|
||||
produkt.setBestand(produkt.getBestand() - neueAnzahl);
|
||||
System.out.println("Anzahl wurde aktualisiert.");
|
||||
} else {
|
||||
System.out.println("Ungültige Anzahl oder nicht genug Bestand verfügbar.");
|
||||
}
|
||||
} else {
|
||||
System.out.println("Produkt nicht im Warenkorb.");
|
||||
}
|
||||
}
|
||||
|
||||
// 4. Warenkorb anzeigen
|
||||
public void warenkorbAnzeigen() {
|
||||
if (warenkorb.getProduktanzahl().isEmpty()) {
|
||||
System.out.println("Warenkorb ist leer.");
|
||||
return;
|
||||
}
|
||||
System.out.println();
|
||||
System.out.println("Warenkorb:");
|
||||
for (Produkt produkt : warenkorb.getProduktanzahl().keySet()) {
|
||||
int anzahl = warenkorb.getProduktanzahl().get(produkt);
|
||||
System.out.println(
|
||||
produkt.getName() + " - Anzahl: " + anzahl + " - Preis pro Stück: " + produkt.getPreis() + " €");
|
||||
}
|
||||
System.out.println("Gesamtpreis: " + warenkorb.preisBerechnen() + " €");
|
||||
System.out.println("Versandkosten: " + warenkorb.versandkostenBerechnen() + " €");
|
||||
System.out.println("Gesamtkosten: " + (warenkorb.preisBerechnen() + warenkorb.versandkostenBerechnen()) + " €");
|
||||
}
|
||||
|
||||
// 5. Bestellung tätigen (Parameter statt Scanner)
|
||||
public void bestellungTaetigen(String name, String anschrift) {
|
||||
if (warenkorb.getProduktanzahl().isEmpty()) {
|
||||
System.out.println("Keine Bestellung möglich, der Warenkorb ist leer.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Bestellung erstellen
|
||||
Bestellung bestellung = new Bestellung(warenkorb, System.currentTimeMillis(), anschrift, name);
|
||||
Bestellung.bestellungen.add(bestellung);
|
||||
System.out.println("Bestellung erfolgreich abgeschlossen!");
|
||||
|
||||
// Warenkorb leeren
|
||||
warenkorb = new Warenkorb();
|
||||
}
|
||||
|
||||
// 6. Alle Bestellungen anzeigen
|
||||
public void alleBestellungenAnzeigen() {
|
||||
// Prüfen, ob Bestellungen vorhanden sind
|
||||
if (Bestellung.bestellungen.isEmpty()) {
|
||||
System.out.println("Es wurde noch keine Bestellung getätigt.");
|
||||
return;
|
||||
}
|
||||
|
||||
// Ausgabe aller Bestellungen
|
||||
System.out.println("Alle Bestellungen:");
|
||||
for (Bestellung bestellung : Bestellung.bestellungen) {
|
||||
// Kundeninformationen anzeigen
|
||||
System.out.println("Kunde: " + bestellung.getName());
|
||||
System.out.println("Anschrift: " + bestellung.getAnschrift());
|
||||
|
||||
// Bestelldatum anzeigen
|
||||
String bestelldatum = new SimpleDateFormat("dd.MM.yyyy HH:mm:ss")
|
||||
.format(new Date(bestellung.getBestelldatum()));
|
||||
System.out.println("Bestelldatum: " + bestelldatum);
|
||||
|
||||
// Produkte im Warenkorb anzeigen (ohne Gewicht)
|
||||
System.out.println("Bestellte Produkte:");
|
||||
for (Produkt produkt : bestellung.getWarenkorb().getProduktanzahl().keySet()) {
|
||||
int anzahl = bestellung.getWarenkorb().getProduktanzahl().get(produkt);
|
||||
System.out.println(produkt.getName() + " - Anzahl: " + anzahl + " - Preis pro Stück: "
|
||||
+ produkt.getPreis() + " €");
|
||||
}
|
||||
|
||||
// Gesamtpreis und Versandkosten berechnen
|
||||
double gesamtpreis = bestellung.getWarenkorb().preisBerechnen();
|
||||
double versandkosten = bestellung.getWarenkorb().versandkostenBerechnen();
|
||||
System.out.println("Gesamtpreis (ohne Versand): " + gesamtpreis + " €");
|
||||
System.out.println("Versandkosten: " + versandkosten + " €");
|
||||
System.out.println("Gesamtkosten (inkl. Versand): " + (gesamtpreis + versandkosten) + " €");
|
||||
|
||||
// Trennlinie für jede Bestellung
|
||||
System.out.println("------------");
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue