import {Component, inject} from '@angular/core';
import {FormsModule} from '@angular/forms';
import {NgForOf, NgIf} from '@angular/common';
import {RisikoobjektService} from '../services/risikoobjekt.service';

export interface Risikoobjekt {

}

export interface FahrzeugType extends Risikoobjekt{
  id?: string
  baujahr: number
  handelsbezeichnung: string
  erstzulassung: Date
  kennzeichen: string
  leistung: number
  listenpreis: number
  sonderausstattung: number
}

@Component({
  selector: 'app-risikoobjekt',
  imports: [
    FormsModule,
    NgForOf,
    NgIf
  ],
  templateUrl: './risikoobjektView.html',
  styleUrl: './risikoobjektView.css',
})


export class RisikoobjektView {
  private risikoobjektService = inject(RisikoobjektService);
  risikoobjekte = this.risikoobjektService.risikoobjekte;

  types = [
    "Versichertes objekt SachPrivat",
    "Versicherte Liegenschaft",
    "Fahrzeug",
    "Risiko Gebaeude",
    "Versicherte Person",
    "Risiko Haushalt"
  ];

  selectedType: string = '';

  formData = {
    Baujahr: 0,
    Handelsbezeichnung: '',
    Erstzulassung: new Date(),
    Kennzeichen: '',
    Leistung: 0,
    Listenpreis: 0,
    Sonderausstattung: 0
  };

  addRisikoobjekt(){
    if (this.formData.Baujahr === 0 ||
      this.formData.Handelsbezeichnung === ''
      || this.formData.Erstzulassung === null
      || this.formData.Kennzeichen === ''
      || this.formData.Leistung === 0
      || this.formData.Listenpreis === 0
      || this.formData.Sonderausstattung === 0){

    }

    const fahrzeug : FahrzeugType = {
      baujahr:  this.formData.Baujahr,
      handelsbezeichnung: this.formData.Handelsbezeichnung.replace(/ /g, '_'),
      erstzulassung: this.formData.Erstzulassung,
      kennzeichen: this.formData.Kennzeichen,
      leistung: this.formData.Leistung,
      listenpreis: this.formData.Listenpreis,
      sonderausstattung: this.formData.Sonderausstattung
    }

    this.risikoobjektService.addRisikoobjekt(fahrzeug);
  }
}
