Online_schop/Bestellung.java

52 lines
1.7 KiB
Java
Raw Normal View History

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class Bestellung {
private Warenkorb warenkorb;
private float versandkosten;
private LocalDateTime bestellDatum;
// Konstruktor mit Warenkorb und Versandkosten
public Bestellung(Warenkorb warenkorb, float versandkosten) {
if (warenkorb == null) {
throw new IllegalArgumentException("Warenkorb darf nicht null sein.");
}
if (versandkosten < 0) {
throw new IllegalArgumentException("Versandkosten dürfen nicht negativ sein.");
}
this.warenkorb = warenkorb;
this.versandkosten = versandkosten;
this.bestellDatum = LocalDateTime.now(); // Bestelldatum setzen
}
public Warenkorb getWarenkorb() {
return warenkorb;
}
public float getVersandkosten() {
return versandkosten;
}
public LocalDateTime getBestellDatum() {
return bestellDatum;
}
public float berechneGesamtpreis() {
return warenkorb.berechneGesamtPreis() + versandkosten;
}
@Override
public String toString() {
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("dd.MM.yyyy HH:mm:ss");
Kunden kunde = warenkorb.getKunde(); // Kundenobjekt vom Warenkorb abrufen
String kundenName = kunde != null ? kunde.getName() : "Unbekannt";
String adresse = kunde != null ? kunde.getAdresse() : "Keine Adresse angegeben";
return String.format("Bestellung am %s:\nWarenkorb für: %s\n%sVersandkosten: %.2f Euro\nGesamtpreis: %.2f Euro\nAdresse: %s",
bestellDatum.format(formatter), kundenName, warenkorb.toString(), versandkosten, berechneGesamtpreis(), adresse);
}
}