
import { Ausweis } from "./Ausweis/Ausweis";
import { Dachgeschoss, Lueftungskonzept } from "./Ausweis/types";
import { BitChecker } from "./BitChecker";

export class Gebaeude {
	public typ: string = "";
	public plz: string = "";
	public ort: string = "";
	public strasse: string = "";
	public gebaeudeteil: string = "";
	public saniert: boolean = false;
	public baujahr: number[] = [];
	public einheiten: number = 0;
	public wohnflaeche: number = 0;
	public nutzflaeche: number = 0;
	public keller_beheizt: boolean = false;
	public dachgeschoss_beheizt: Dachgeschoss = Dachgeschoss.UNBEHEIZT;
	public lueftungskonzept: Lueftungskonzept = "Fensterlüftung";
	public wird_gekuehlt: boolean = false;
	public leerstand: number = 0;
	public versorgungssysteme: boolean[] = BitChecker(0);
	public fenster_dach: boolean[] = BitChecker(0);
	public energiequelle_2_nutzung: boolean[] = BitChecker(0);
	public daemmung: boolean[] = BitChecker(0);

	public ausweis: Ausweis;

	public uid?: string;

	public constructor(initializer?: Gebaeude) {
		if (initializer) {
			this.typ = initializer.typ;
			this.plz = initializer.plz;
			this.ort = initializer.ort;
		}
	}
}
