package OnlineShop.domain;

import java.util.ArrayList;

import OnlineShop.domain.ExceptionsKlassen.KeineProdukteImWarenkorb;

public class Warenkorb {
	private ArrayList<Produkt> produkte;
	private int anzahlProdkute;

	Warenkorb() {
		produkte = new ArrayList<>();
	}

	public boolean addProdukt(Produkt neueProdukt) {		
		produkte.add(neueProdukt);
		anzahlProdkute++;
		return true;
	}

	public boolean loescheprodukt(String name) {
		Produkt produktZuLoeschen = findeProduktImWarenkorb(name);
		if (produktZuLoeschen == null)
			return false;
		
		produkte.remove(produktZuLoeschen);
		anzahlProdkute--;                           
		return true;
	}
	
	private Produkt findeProduktImWarenkorb(String name) {
		
		for (Produkt p : produkte)
			if (p.getName().equalsIgnoreCase(name))
				return p;
		
		return null;
	}
	
	public ArrayList<String> zeigeProdukteImWarenKorb() throws KeineProdukteImWarenkorb {
		if (produkte.size() == 0)
			throw new KeineProdukteImWarenkorb("Momentan haben Sie Keine Produkte in Ihrem Warenkorb");
		
		ArrayList<String> allProdukte = new ArrayList<>();
		int index = 1;
		for (Produkt p : produkte)
			allProdukte.add(index++ + ".Produkt: " + p.print());

		return allProdukte;
	}

	public int getAnzahlProdkute() {
		return anzahlProdkute;
	}
	

	
	public ArrayList<Produkt> getProdukte(){
		return produkte;
	}
	
	
}
