<?php

namespace App\Http\Livewire\Traits;

use App\Models\ReportDataPartiCoinvolte;
use App\Models\ReportDataVeicoli;
use App\Models\Vehicle;

trait HasVeicoli{
    public $currentVeicolo;
    public $vei_tipo_id;
    public $vei_marca_id;
    public $vei_marca_altro;
    public $vei_modello_id;
    public $vei_modello_altro;
    public $vei_colore;
    public $vei_targa;
    public $vei_carta_circolazione;
    public $vei_carta_circolazione_rilasciata_da;
    public $vei_carta_circolazione_rilasciata_da_altro;
    public $vei_foreign_country;
    public $vei_carta_circolazione_rilasciata_da_di_foreign_country;
    public $vei_carta_circolazione_rilasciata_da_di_foreign_localita;
    public $vei_carta_circolazione_rilasciata_da_di;
    public $vei_carta_circolazione_rilasciata_il;
    public $vei_data_ultima_revisione;
    public $vei_cilindrata;
    public $vei_peso_complessivo;
    public $vei_destinazione_uso;
    public $vei_state;

    public $data_chilometri_percorsi;
    public $data_stato_veicolo;
    public $data_polizze;
    public $data_conducente_uguale_proprietario;
    public $data_conducenti;
    public $data_infortunato;
    public $data_infortunato_ospedale;
    public $data_patente_al_seguito;
    public $data_generalizzato;
    public $data_generalizzato_altrove;
    public $data_posizione_statica_finale;
    public $data_danni_visibili_riportati;
    public $data_danni_visibili_pre_esistenti;
    public $data_destinazione_veicolo;
    public $data_destinazione_veicolo_affidato_a;
    public $data_destinazione_veicolo_sequestro_num_art;
    public $data_destinazione_veicolo_amministrativo_num;
    public $data_destinazione_veicolo_amministrativo_num_art_violato;
    public $data_destinazione_veicolo_amministrativo_cds;
    public $data_circostanze_presunte_incidente;
    public $data_stato_pneumatici;
    public $data_marca_pneumatici;
    public $data_misura_pneumatici;
    public $data_dispositivi_ottici;
    public $data_tergicristalli;
    public $data_segnale_pericolo;
    public $data_abs;
    public $data_gps;
    public $data_marcia_inserita;
    public $data_cristallo;
    public $data_cristallo_posizione;
    public $data_specchio_retrovisore;
    public $data_specchio_lat_dx;
    public $data_specchio_lat_sx;
    public $data_attivazione_airbag;
    public $data_airbag_posizione;
    public $data_alcool_test;
    public $data_alcool_test_esito;
    public $data_drug_test;
    public $data_drug_test_esito;
    public $data_sistema_ritenuta_minori;
    public $data_sistema_ritenuta_minori_omologazione;
    public $data_verbale_violazione_numero_1;
    public $data_articolo_violato_1;
    public $data_cds_1;
    public $data_verbale_violazione_numero_2;
    public $data_articolo_violato_2;
    public $data_cds_2;
    public $data_verbale_violazione_numero_3;
    public $data_articolo_violato_3;
    public $data_cds_3;
    public $data_conducente_patente_numero;
    public $data_conducente_patente_categoria;
    public $data_conducente_patente_rilasciata_da;
    public $data_conducente_patente_rilasciata_da_altro;
    public $data_conducente_patente_rilasciata_il;
    public $data_conducente_patente_scadenza;
    public $data_conducente_patente_prescrizioni;
    public $data_conducente_patente_limitazioni_art_117_1;
    public $data_conducente_patente_limitazioni_art_117_2;
    public $data_conducente_patente_abilitazione;
    public $data_conducente_patente_abilitazione_numero;
    public $data_conducente_patente_abilitazione_rilasciata_da;
    public $data_conducente_patente_abilitazione_rilasciata_il;
    public $data_conducente_documento;
    public $data_conducente_documento_numero;
    public $data_conducente_sedicente;
    public $data_tipo_danno;
    public $data_entita_danno;
    public $data_effetto_danno;
    public $data_parte_macchina;
    public $data_tipo_danno_2;
    public $data_entita_danno_2;
    public $data_effetto_danno_2;
    public $data_parte_macchina_2;

    public $data_tipo_danno_3;
    public $data_entita_danno_3;
    public $data_effetto_danno_3;
    public $data_parte_macchina_3;
    public $data_tipo_danno_4;
    public $data_entita_danno_4;
    public $data_effetto_danno_4;
    public $data_parte_macchina_4;
    public $data_cinture_conducente;
    public $verbale_violazione_numero;
    public $articolo_violato;

    public function resetVeicolo(){
        $this->loadTarga = '';
        $this->currentVeicolo = 0;
        $this->currentProgressive = -1;
        $this->vei_tipo_id = null;
        $this->vei_marca_id = null;
        $this->vei_marca_altro = '';
        $this->vei_modello_id = null;
        $this->vei_modello_altro = '';
        $this->vei_colore = '';
        $this->vei_targa = '';
        $this->vei_carta_circolazione = '';
        $this->vei_carta_circolazione_rilasciata_da = '';
        $this->vei_carta_circolazione_rilasciata_da_altro = '';
        $this->vei_foreign_country = null;
        $this->vei_carta_circolazione_rilasciata_da_di_foreign_country = null;
        $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita = null;
        $this->vei_carta_circolazione_rilasciata_da_di = '';
        $this->vei_carta_circolazione_rilasciata_il = null;
        $this->vei_data_ultima_revisione = null;
        $this->vei_cilindrata = '';
        $this->vei_peso_complessivo = '';
        $this->vei_destinazione_uso = '';
        $this->vei_state = '';
    }

    public function resetVeicoloData(){
        $this->currentProgressive = null;
        $this->currentVeicolo = null;
        $this->data_chilometri_percorsi = null;
        $this->data_stato_veicolo = null;
        $this->data_polizze = 0;
        $this->data_proprietari = null;
        $this->data_coproprietari = null;
        $this->data_conducente_uguale_proprietario = true;
        $this->data_conducenti = null;
        $this->data_infortunato = null;
        $this->data_infortunato_ospedale = '';
        $this->data_patente_al_seguito = null;
        $this->data_generalizzato = null;
        $this->data_generalizzato_altrove = '';
        $this->data_posizione_statica_finale = null;
        $this->data_danni_visibili_riportati = '';
        $this->data_danni_visibili_pre_esistenti = '';
        $this->data_destinazione_veicolo = null;
        $this->data_destinazione_veicolo_affidato_a = '';
        $this->data_destinazione_veicolo_sequestro_num_art = '';
        $this->data_destinazione_veicolo_amministrativo_num = '';
        $this->data_destinazione_veicolo_amministrativo_num_art_violato = '';
        $this->data_destinazione_veicolo_amministrativo_cds = '';
        $this->data_circostanze_presunte_incidente = '';
        $this->data_stato_pneumatici = null;
        $this->data_marca_pneumatici = '';
        $this->data_misura_pneumatici = '';
        $this->data_dispositivi_ottici = null;
        $this->data_tergicristalli = null;
        $this->data_segnale_pericolo = null;
        $this->data_abs = null;
        $this->data_gps = null;
        $this->data_marcia_inserita = null;
        $this->data_cristallo = null;
        $this->data_cristallo_posizione = '';
        $this->data_specchio_retrovisore = null;
        $this->data_specchio_lat_dx = null;
        $this->data_specchio_lat_sx = null;
        $this->data_attivazione_airbag = null;
        $this->data_airbag_posizione = '';
        $this->data_alcool_test = null;
        $this->data_alcool_test_esito = null;
        $this->data_drug_test = null;
        $this->data_drug_test_esito = null;
        $this->data_sistema_ritenuta_minori = null;
        $this->data_sistema_ritenuta_minori_omologazione = '';
        $this->data_verbale_violazione_numero_1 = '';
        $this->data_articolo_violato_1 = '';
        $this->data_cds_1 = '';
        $this->data_verbale_violazione_numero_2 = '';
        $this->data_articolo_violato_2 = '';
        $this->cds_2 = '';
        $this->data_verbale_violazione_numero_3 = '';
        $this->data_articolo_violato_3 = '';
        $this->data_cds_3 = '';
        $this->data_conducente_patente_numero = '';
        $this->data_conducente_patente_categoria = '';
        $this->data_conducente_patente_rilasciata_da = null;
        $this->data_conducente_patente_rilasciata_da_altro = '';
        $this->data_conducente_patente_rilasciata_il = null;
        $this->data_conducente_patente_scadenza = null;
        $this->data_conducente_patente_prescrizioni = null;
        $this->data_conducente_patente_limitazioni_art_117_1 = '';
        $this->data_conducente_patente_limitazioni_art_117_2 = '';
        $this->data_conducente_patente_abilitazione = null;
        $this->data_conducente_patente_abilitazione_numero = '';
        $this->data_conducente_patente_abilitazione_rilasciata_da = null;
        $this->data_conducente_patente_abilitazione_rilasciata_il = null;
        $this->data_conducente_documento = null;
        $this->data_conducente_documento_numero = '';
        $this->data_conducente_sedicente = null;
        $this->data_tipo_danno = null;
        $this->data_entita_danno = null;
        $this->data_effetto_danno = null;
        $this->data_parte_macchina = null;
        $this->data_tipo_danno_2 = null;
        $this->data_entita_danno_2 = null;
        $this->data_effetto_danno_2 = null;
        $this->data_parte_macchina_2 = null;
        $this->data_tipo_danno_3 = null;
        $this->data_entita_danno_3 = null;
        $this->data_effetto_danno_3 = null;
        $this->data_parte_macchina_3 = null;
        $this->data_tipo_danno_4 = null;
        $this->data_entita_danno_4 = null;
        $this->data_effetto_danno_4 = null;
        $this->data_parte_macchina_4 = null;
        $this->data_cinture_conducente = '';
        $this->data_cinture_passeggeri_0 = '';
        $this->data_cinture_passeggeri_1 = '';
        $this->data_cinture_passeggeri_2 = '';
        $this->data_cinture_passeggeri_3 = '';
        $this->data_casco_conducente = '';
        $this->data_casco_passeggero = '';
        $this->data_casco_omologazione_conducente = '';
        $this->data_casco_omologazione_passeggero = '';
        $this->data_passeggero_0 = 0;
        $this->data_infortunato_0 = 0;
        $this->data_infortunato_ospedale_0 = '';
        $this->data_passeggero_1 = 0;
        $this->data_infortunato_1 = 0;
        $this->data_infortunato_ospedale_1 = '';
        $this->data_passeggero_2 = 0;
        $this->data_infortunato_2 = 0;
        $this->data_infortunato_ospedale_2 = '';
        $this->data_passeggero_3 = 0;
        $this->data_infortunato_3 = 0;
        $this->data_infortunato_ospedale_3 = '';
        $this->data_infortunato_extra_0 = 0;
        $this->data_infortunato_extra_1 = 0;
        $this->data_infortunato_extra_2 = 0;
        $this->data_infortunato_extra_3 = 0;
    }

    public function addVeicolo($progressive)
    {
        $this->resetVeicolo();
        $this->currentProgressive = $progressive;
    }

    public function editVeicolo($veicolo)
    {
        $this->resetVeicolo();
        $vei = Vehicle::where('id', $veicolo)->first();
        if ($vei != null){
            $this->currentVeicolo = $veicolo;
            $this->vei_tipo_id = $vei->tipo_id;
            $this->vei_marca_id = $vei->marca_id;
            $this->vei_marca_altro = $vei->marca_altro;
            $this->vei_modello_id = $vei->modello_id;
            $this->vei_modello_altro = $vei->modello_altro;
            $this->vei_colore = $vei->colore;
            $this->vei_targa = $vei->targa;
            $this->vei_carta_circolazione = $vei->carta_circolazione;
            $this->vei_carta_circolazione_rilasciata_da = $vei->carta_circolazione_rilasciata_da;
            $this->vei_carta_circolazione_rilasciata_da_altro = $vei->carta_circolazione_rilasciata_da_altro;
            $this->vei_foreign_country = $vei->foreign_country;
            $this->vei_carta_circolazione_rilasciata_da_di_foreign_country = $vei->carta_circolazione_rilasciata_da_di_foreign_country;
            $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita = $vei->carta_circolazione_rilasciata_da_di_foreign_localita;
            $this->vei_carta_circolazione_rilasciata_da_di = $vei->carta_circolazione_rilasciata_da_di;
            $this->vei_carta_circolazione_rilasciata_il = $vei->carta_circolazione_rilasciata_il;
            $this->vei_data_ultima_revisione = $vei->data_ultima_revisione;
            $this->vei_cilindrata = $vei->cilindrata;
            $this->vei_peso_complessivo = $vei->peso_complessivo;
            $this->vei_destinazione_uso = $vei->destinazione_uso;
            $this->vei_state = $vei->state;
        }
    }

    public function editVeicoloData($progressive){
        $this->resetVeicoloData();
        $this->currentProgressive = $progressive;
        $data = ReportDataVeicoli::where('progressive', $progressive)->where('report_id', $this->dataId)->first();

        if ($data != null){
            $this->currentVeicolo = $data->veicolo;
            $this->data_chilometri_percorsi = $data->chilometri_percorsi;
            $this->data_stato_veicolo = $data->stato_veicolo;
            $this->data_polizze = $data->polizze;
            $this->data_proprietari = $data->proprietari;
            $this->data_coproprietari = $data->coproprietari;
            $this->data_conducente_uguale_proprietario = $data->conducente_uguale_proprietario;
            $this->data_conducenti = $data->conducenti;
            $this->data_infortunato = $data->infortunato;
            $this->data_infortunato_ospedale = $data->infortunato_ospedale;
            $this->data_patente_al_seguito = $data->patente_al_seguito;
            $this->data_generalizzato = $data->generalizzato;
            $this->data_generalizzato_altrove = $data->generalizzato_altrove;
            $this->data_posizione_statica_finale = $data->posizione_statica_finale;
            $this->data_danni_visibili_riportati = $data->danni_visibili_riportati;
            $this->data_danni_visibili_pre_esistenti = $data->danni_visibili_pre_esistenti;
            $this->data_destinazione_veicolo = $data->destinazione_veicolo;
            $this->data_destinazione_veicolo_affidato_a = $data->destinazione_veicolo_affidato_a;
            $this->data_destinazione_veicolo_sequestro_num_art = $data->destinazione_veicolo_sequestro_num_art;
            $this->data_destinazione_veicolo_amministrativo_num = $data->destinazione_veicolo_amministrativo_num;
            $this->data_destinazione_veicolo_amministrativo_num_art_violato = $data->destinazione_veicolo_amministrativo_num_art_violato;
            $this->data_destinazione_veicolo_amministrativo_cds = $data->destinazione_veicolo_amministrativo_cds;
            $this->data_circostanze_presunte_incidente = $data->circostanze_presunte_incidente;
            $this->data_stato_pneumatici = $data->stato_pneumatici;
            $this->data_marca_pneumatici = $data->marca_pneumatici;
            $this->data_misura_pneumatici = $data->misura_pneumatici;
            $this->data_dispositivi_ottici = $data->dispositivi_ottici;
            $this->data_tergicristalli = $data->tergicristalli;
            $this->data_segnale_pericolo = $data->segnale_pericolo;
            $this->data_abs = $data->abs;
            $this->data_gps = $data->gps;
            $this->data_marcia_inserita = $data->marcia_inserita;
            $this->data_cristallo = $data->cristallo;
            $this->data_cristallo_posizione = $data->cristallo_posizione;
            $this->data_specchio_retrovisore = $data->specchio_retrovisore;
            $this->data_specchio_lat_dx = $data->specchio_lat_dx;
            $this->data_specchio_lat_sx = $data->specchio_lat_sx;
            $this->data_attivazione_airbag = $data->attivazione_airbag;
            $this->data_airbag_posizione = $data->airbag_posizione;
            $this->data_alcool_test = $data->alcool_test;
            $this->data_alcool_test_esito = $data->alcool_test_esito;
            $this->data_drug_test = $data->drug_test;
            $this->data_drug_test_esito = $data->drug_test_esito;
            $this->data_sistema_ritenuta_minori = $data->sistema_ritenuta_minori;
            $this->data_sistema_ritenuta_minori_omologazione = $data->sistema_ritenuta_minori_omologazione;
            $this->data_verbale_violazione_numero_1 = $data->verbale_violazione_numero_1;
            $this->data_articolo_violato_1 = $data->articolo_violato_1;
            $this->data_cds_1 = $data->cds_1;
            $this->data_verbale_violazione_numero_2 = $data->verbale_violazione_numero_2;
            $this->data_articolo_violato_2 = $data->articolo_violato_2;
            $this->data_cds_2 = $data->cds_2;
            $this->data_verbale_violazione_numero_3 = $data->verbale_violazione_numero_3;
            $this->data_articolo_violato_3 = $data->articolo_violato_3;
            $this->data_cds_3 = $data->cds_3;
            $this->data_conducente_patente_numero = $data->conducente_patente_numero;
            $this->data_conducente_patente_categoria = $data->conducente_patente_categoria;
            $this->data_conducente_patente_rilasciata_da = $data->conducente_patente_rilasciata_da;
            $this->data_conducente_patente_rilasciata_da_altro = $data->conducente_patente_rilasciata_da_altro;
            $this->data_conducente_patente_rilasciata_il = $data->conducente_patente_rilasciata_il;
            $this->data_conducente_patente_scadenza = $data->conducente_patente_scadenza;
            $this->data_conducente_patente_prescrizioni = $data->conducente_patente_prescrizioni;
            $this->data_conducente_patente_limitazioni_art_117_1 = $data->conducente_patente_limitazioni_art_117_1;
            $this->data_conducente_patente_limitazioni_art_117_2 = $data->conducente_patente_limitazioni_art_117_2;
            $this->data_conducente_patente_abilitazione = $data->conducente_patente_abilitazione;
            $this->data_conducente_patente_abilitazione_numero = $data->conducente_patente_abilitazione_numero;
            $this->data_conducente_patente_abilitazione_rilasciata_da = $data->conducente_patente_abilitazione_rilasciata_da;
            $this->data_conducente_patente_abilitazione_rilasciata_il = $data->conducente_patente_abilitazione_rilasciata_il;
            $this->data_conducente_documento = $data->conducente_documento;
            $this->data_conducente_documento_numero = $data->conducente_documento_numero;
            $this->data_conducente_sedicente = $data->conducente_sedicente;
            $this->data_tipo_danno = $data->tipo_danno;
            $this->data_entita_danno = $data->entita_danno;
            $this->data_effetto_danno = $data->effetto_danno;
            $this->data_parte_macchina = $data->parte_macchina;
            $this->data_tipo_danno_2 = $data->tipo_danno_2;
            $this->data_entita_danno_2 = $data->entita_danno_2;
            $this->data_effetto_danno_2 = $data->effetto_danno_2;
            $this->data_parte_macchina_2 = $data->parte_macchina_2;
            $this->data_tipo_danno_3 = $data->tipo_danno_3;
            $this->data_entita_danno_3 = $data->entita_danno_3;
            $this->data_effetto_danno_3 = $data->effetto_danno_3;
            $this->data_parte_macchina_3 = $data->parte_macchina_3;
            $this->data_tipo_danno_4 = $data->tipo_danno_4;
            $this->data_entita_danno_4 = $data->entita_danno_4;
            $this->data_effetto_danno_4 = $data->effetto_danno_4;
            $this->data_parte_macchina_4 = $data->parte_macchina_4;
        }else{
            if ($this->data_conducenti == "" || $this->data_conducenti == 0){
                $an = ReportDataPartiCoinvolte::where('report_id', $this->dataId)->where('progressive', $progressive)->first();
                $this->data_conducenti = $an->anagrafica;
            }
        }

        $cinture = \App\Models\ReportDataCintureSicurezza::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
        if ($cinture != null){
            $this->data_cinture_conducente = $cinture->conducente;
            $this->data_cinture_passeggeri_0 = $cinture->passeggeri_0;
            $this->data_cinture_passeggeri_1 = $cinture->passeggeri_1;
            $this->data_cinture_passeggeri_2 = $cinture->passeggeri_2;
            $this->data_cinture_passeggeri_3 = $cinture->passeggeri_3;
        }

        $casco = \App\Models\ReportDataUsoDelCasco::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
        if ($casco != null){
            $this->data_casco_conducente = $casco->conducente;
            $this->data_casco_passeggero = $casco->passeggeri;
        }

        $omologazione = \App\Models\ReportDataUsoDelCascoOmologazione::where('progressive', $progressive)->where('report_id', $this->dataId)->first();
        if ($omologazione != null){
            $this->data_casco_omologazione_conducente = $omologazione->conducente;
            $this->data_casco_omologazione_passeggero = $omologazione->passeggeri;
        }

        $passeggeri = \App\Models\ReportDataPasseggeri::where('progressive', $progressive)->where('report_id', $this->dataId)->get();
        foreach($passeggeri as $idx => $pa){
            if($idx == 0){
                $this->data_passeggero_0 = $pa->passeggero;
                $this->data_infortunato_0 = $pa->infortunato;
                $this->data_infortunato_ospedale_0 = $pa->infortunato_ospedale;
            }
            if($idx == 1){
                $this->data_passeggero_1 = $pa->passeggero;
                $this->data_infortunato_1 = $pa->infortunato;
                $this->data_infortunato_ospedale_1 = $pa->infortunato_ospedale;
            }
            if($idx == 2){
                $this->data_passeggero_2 = $pa->passeggero;
                $this->data_infortunato_2 = $pa->infortunato;
                $this->data_infortunato_ospedale_2 = $pa->infortunato_ospedale;
            }
            if($idx == 3){
                $this->data_passeggero_3 = $pa->passeggero;
                $this->data_infortunato_3 = $pa->infortunato;
                $this->data_infortunato_ospedale_3 = $pa->infortunato_ospedale;
            }
        }

        $infortunati = \App\Models\ReportDataInfortunati::where('progressive', $progressive)->where('report_id', $this->dataId)->get();
        foreach($infortunati as $idx => $i){
            if($idx == 0)
                $this->data_infortunato_extra_0 = $i->infortunato;
            if($idx == 1)
                $this->data_infortunato_extra_1 = $i->infortunato;
            if($idx == 2)
                $this->data_infortunato_extra_2 = $i->infortunato;
            if($idx == 3)
                $this->data_infortunato_extra_3 = $i->infortunato;
        }
        $this->emit('load-select-modal');

        if ($this->data_polizze > 0)
        $this->emit('add-default-value', $this->data_polizze, $this->getPolizza($this->data_polizze), 'data_polizze');

        if ($this->data_proprietari > 0)
        $this->emit('add-default-value', $this->data_proprietari, $this->getAnagrafica($this->data_proprietari), 'data_proprietari');

        if ($this->data_coproprietari > 0)
        $this->emit('add-default-value', $this->data_coproprietari, $this->getAnagrafica($this->data_coproprietari), 'data_coproprietari');

        if ($this->data_passeggero_0 > 0)
        $this->emit('add-default-value', $this->data_passeggero_0, $this->getAnagrafica($this->data_passeggero_0), 'data_passeggero_0');

        if ($this->data_passeggero_1 > 0)
        $this->emit('add-default-value', $this->data_passeggero_1, $this->getAnagrafica($this->data_passeggero_1), 'data_passeggero_1');

        if ($this->data_passeggero_2 > 0)
        $this->emit('add-default-value', $this->data_passeggero_2, $this->getAnagrafica($this->data_passeggero_2), 'data_passeggero_2');

        if ($this->data_passeggero_3 > 0)
        $this->emit('add-default-value', $this->data_passeggero_3, $this->getAnagrafica($this->data_passeggero_3), 'data_passeggero_3');

        if ($this->data_infortunato_extra_0 > 0)
        $this->emit('add-default-value', $this->data_infortunato_extra_0, $this->getAnagrafica($this->data_infortunato_extra_0), 'data_infortunato_extra_0');

        if ($this->data_infortunato_extra_1 > 0)
        $this->emit('add-default-value', $this->data_infortunato_extra_1, $this->getAnagrafica($this->data_infortunato_extra_1), 'data_infortunato_extra_1');

        if ($this->data_infortunato_extra_2 > 0)
        $this->emit('add-default-value', $this->data_infortunato_extra_2, $this->getAnagrafica($this->data_infortunato_extra_2), 'data_infortunato_extra_2');

        if ($this->data_infortunato_extra_3 > 0)
        $this->emit('add-default-value', $this->data_infortunato_extra_3, $this->getAnagrafica($this->data_infortunato_extra_3), 'data_infortunato_extra_3');

        if ($this->data_conducenti > 0)
        $this->emit('add-default-value', $this->data_conducenti, $this->getAnagrafica($this->data_conducenti), 'data_conducenti');

    }

    public function getVeicolo($veicolo){
        if ($veicolo > 0)
        {
            $ret = Vehicle::findOrFail($veicolo);
            return ($ret->marca ? $ret->marca->name : '') . " " . ($ret->modello ? $ret->modello->name : '') . " " . $ret->targa;
        }
        return "";
    }

    public function veicoloSave()
    {
        $this->validate([
            'vei_tipo_id' => 'required',
            'vei_marca_id' => 'required',
            'vei_modello_id' => 'required',
            'vei_carta_circolazione_rilasciata_da' => 'required',
            'vei_foreign_country' => 'required',
            'vei_carta_circolazione_rilasciata_da_di' => 'required',
            'vei_destinazione_uso' => 'required',
        ], [
            'vei_tipo_id.required' => 'Il campo "Tipo di veicolo" è obbligatorio.',
            'vei_marca_id.required' => 'Il campo "Marca" è obbligatorio.',
            'vei_modello_id.required' => 'Il campo "Modello" è obbligatorio.',
            'vei_carta_circolazione_rilasciata_da.required' => 'Il campo "Rilasciata da" è obbligatorio.',
            'vei_foreign_country.required' => 'Il campo "Paese di rilascio" è obbligatorio.',
            'vei_carta_circolazione_rilasciata_da_di.required' => 'Il campo "Località di rilascio" è obbligatorio.',
            'vei_destinazione_uso.required' => 'Il campo "Destinazione d\'uso" è obbligatorio.',
        ]);

        if ($this->currentVeicolo > 0){
            Vehicle::whereId($this->currentVeicolo)->update([
                'tipo_id' => $this->vei_tipo_id,
                'marca_id' => $this->vei_marca_id,
                'marca_altro' => $this->vei_marca_altro,
                'modello_id' => $this->vei_modello_id,
                'modello_altro' => $this->vei_modello_altro,
                'colore' => $this->vei_colore,
                'targa' => $this->vei_targa,
                'carta_circolazione' => $this->vei_carta_circolazione,
                'carta_circolazione_rilasciata_da' => $this->vei_carta_circolazione_rilasciata_da,
                'carta_circolazione_rilasciata_da_altro' => $this->vei_carta_circolazione_rilasciata_da_altro,
                'foreign_country' => $this->vei_foreign_country,
                'carta_circolazione_rilasciata_da_di_foreign_country' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_country,
                'carta_circolazione_rilasciata_da_di_foreign_localita' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita,
                'carta_circolazione_rilasciata_da_di' => $this->vei_carta_circolazione_rilasciata_da_di,
                'carta_circolazione_rilasciata_il' => $this->vei_carta_circolazione_rilasciata_il,
                'data_ultima_revisione' => $this->vei_data_ultima_revisione,
                'cilindrata' => $this->vei_cilindrata,
                'peso_complessivo' => $this->vei_peso_complessivo,
                'destinazione_uso' => $this->vei_destinazione_uso
            ]);
        }else{
            $veicolo = Vehicle::create([
                'tipo_id' => $this->vei_tipo_id,
                'marca_id' => $this->vei_marca_id,
                'marca_altro' => $this->vei_marca_altro,
                'modello_id' => $this->vei_modello_id,
                'modello_altro' => $this->vei_modello_altro,
                'colore' => $this->vei_colore,
                'targa' => $this->vei_targa,
                'carta_circolazione' => $this->vei_carta_circolazione,
                'carta_circolazione_rilasciata_da' => $this->vei_carta_circolazione_rilasciata_da,
                'carta_circolazione_rilasciata_da_altro' => $this->vei_carta_circolazione_rilasciata_da_altro,
                'foreign_country' => $this->vei_foreign_country,
                'carta_circolazione_rilasciata_da_di_foreign_country' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_country,
                'carta_circolazione_rilasciata_da_di_foreign_localita' => $this->vei_carta_circolazione_rilasciata_da_di_foreign_localita,
                'carta_circolazione_rilasciata_da_di' => $this->vei_carta_circolazione_rilasciata_da_di,
                'carta_circolazione_rilasciata_il' => $this->vei_carta_circolazione_rilasciata_il,
                'data_ultima_revisione' => $this->vei_data_ultima_revisione,
                'cilindrata' => $this->vei_cilindrata,
                'peso_complessivo' => $this->vei_peso_complessivo,
                'destinazione_uso' => $this->vei_destinazione_uso
            ]);
            $this->updateVeicoloParteCoinvolta($veicolo->id, $this->currentProgressive);
        }
        $this->resetVeicolo();
        $this->emit('close-modal');
    }

}
