Verwaltung des Online Shops hinzugefügt

main
elarturo 2024-10-22 10:46:48 +02:00
parent 1e6cb8ba1b
commit fa33655778
1 changed files with 149 additions and 0 deletions

View File

@ -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("------------");
}
}
}