package OnlineShop.domain;

import java.util.Date;
import java.util.ArrayList;

public class Bestellung {

	private double kosten;
	private String formattedkosten;
	private String kundeName;
	private int gewicht;
	private double versandKosten;
	private ArrayList<WarenkorbMenge> tempProdukt;
	private Date date;

	public Bestellung(ArrayList<WarenkorbMenge> produkts, String kundeName) {
		this.tempProdukt = produkts;
		this.kundeName = kundeName;
	}

	public double getKosten() {
		for (WarenkorbMenge p : tempProdukt) {
			kosten += p.getProdukt().getPreis();
			kosten *= p.getMenge();
		}
		formattedkosten = String.format("%.2f", kosten);
		formattedkosten = formattedkosten.replace(",", "."); // Ersetzt das Komma durch einen Punkt

		return Double.parseDouble(formattedkosten);
	}

	public int getGewicht() {
		gewicht = 0;
		for (WarenkorbMenge p : tempProdukt) {
			gewicht += p.getProdukt().getGewicht();
			gewicht *= p.getMenge();
		}

		return gewicht;
	}

	public double getVersandKosten() {
		getGewicht();
		double gewichtInKg = gewicht / 1000.0;
		System.out.println("gewichtInKg: " + gewichtInKg);

		if (gewichtInKg < 1)
			versandKosten += 5;

		else if (gewichtInKg >= 1 && gewichtInKg <= 2.5)
			versandKosten += 8;

		else
			versandKosten += 10;

		return versandKosten;
	}

	public double getGesamtKosten() {
		double gesmatKosten = kosten + versandKosten;
		String formatted = String.format("%.2f", gesmatKosten);
		formatted = formatted.replace(",", "."); // Ersetzt das Komma durch einen Punkt
		return Double.parseDouble(formatted);
	}

	public Date getDate() {
		return date;
	}

	public void setDate(Date date) {
		this.date = date;
	}

	@Override
	public String toString() {
		return "Kunde= " + kundeName + ", kosten=" + formattedkosten + ", versandKosten=" + versandKosten + ", date="
				+ date;
	}

}
