package Parkhaus;

import java.text.SimpleDateFormat;
import java.util.Date;

/* Jedes Fahrzeug hat ihr eigene: 
 * 	- Kennzeichen
 *  - Einfahrtzeit sowie Ausfahrtzeit
 *  - Betrag
 *  
 *	- Ich gehe davon aus, dass das Fahrzeug automatisch als nicht bezahlt gilt, wenn es in das Parkhaus einfährt.
 * 
 */
public class Fahrzeug {

	private String kennzeichen;
	private Date einfahrt;
	private Date ausfahrt;
	private boolean istBezahlt;
	private boolean istVerschuldet;
	private double betrag;

	Fahrzeug() {
		this(kennzeichenzufaelliggenerieren.kennzeichengenerieren(), new Date());
	}

	Fahrzeug(String kennzeichen) {
		this(kennzeichen, new Date());
	}

	Fahrzeug(Date einfahrt) {
		this(kennzeichenzufaelliggenerieren.kennzeichengenerieren(), einfahrt);
	}

	Fahrzeug(String kennzeichen, Date einfahrt) {
		this.kennzeichen = kennzeichen;
		this.einfahrt = einfahrt;
		this.betrag = 0.0;
		this.istBezahlt = false;
		this.istVerschuldet = false;
	}

	public String getKennzeichen() {
		return kennzeichen;
	}

	// Diese Methode hilft mir, die Zeit in der Console formatted auszugeben
	public String getEinfahrtFormatted() {
		SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy, HH:mm");
		return sdf.format(einfahrt);
	}

	public Date getEinfahrt() {
		return einfahrt;
	}

	public void setEinfahrt(Date einfahrt) {
		this.einfahrt = einfahrt;
	}

	public Date getAusfahrt() {
		return ausfahrt;
	}

	public void setAusfahrt(Date ausfahrt) {
		this.ausfahrt = ausfahrt;
	}

	public boolean isBezahlt() {
		return istBezahlt;
	}

	public void setBezahlt(boolean bezahlt) {
		this.istBezahlt = bezahlt;
	}

	public double getBetrag() {
		return betrag;
	}

	public void setBetrag(double betrag) {
		this.betrag += betrag;
	}

	public boolean IstVerschuldet() {
		return istVerschuldet;
	}

	public void setIstVerschuldet(boolean istVerschuldet) {
		this.istVerschuldet = istVerschuldet;
	}

}
