import 'dart:ui'; import 'package:cid_app/models.dart'; class GlobalData { // --- VARIABILI DI SESSIONE --- static String latoCorrente = 'A'; static String? idScambioTemporaneo; static String? chiaveSegretaCorrente; static String? idSessione; // --- DATI GENERALI (NON CANCELLATI DAI RESET PARZIALI) --- static String data_incidente = ""; static String ora = ""; static String luogo = ""; static String testimoni = ""; static bool feriti = false; static bool Veicoli_danni_materiali_oltre = false; static bool Oggetti_diversi_danni_materiali = false; // --- DATI LATO A (BLU) --- static String Cognome_contraente_A = ""; static String Nome_contraente_A = ""; static String Codice_Fiscale_contraente_A = ""; static String Indirizzo_contraente_A = ""; static String CAP_contraente_A = ""; static String Stato_contraente_A = ""; static String N_telefono_mail_contraente_A = ""; static String Marca_e_Tipo_A = ""; static String Targa_A = ""; static String Stato_immatricolazione_A = ""; static String Rimorchio_A = ""; static String Stato_immatricolazione2_A = ""; static String Denominazione_A = ""; static String Numero_Polizza_A = ""; static String N_carta_verde_A = ""; static String Data_Inizio_Dal_A = ""; static String Data_Scadenza_Al_A = ""; static String Agenzia_A = ""; static String Denominazione_agenzia_A = ""; static String Indirizzo_agenzia_A = ""; static String Stato_agenzia_A = ""; static String N_tel_mail_agenzia_A = ""; static bool FLAG_danni_mat_assicurati_A = false; static String Cognome_cond_A = ""; static String Nome_cond_A = ""; static String Data_nascita_cond_A = ""; static String Cod_fiscale_cond_A = ""; static String Indirizzo_cond_A = ""; static String Stato_cond_A = ""; static String N_tel_mail_cond_A = ""; static String N_Patente_cond_A = ""; static String Scadenza_cond_A = ""; static String Categoria_cond_A = ""; static List puntiUrtoA_List = []; static String danni_visibili_A = ""; static String osservazioni_A = ""; static Map circostanzeA = {}; static int totaleCrocetteA = 0; static List puntiFirmaA = []; // --- DATI LATO B (GIALLO) --- static String Cognome_contraente_B = ""; static String Nome_contraente_B = ""; static String Codice_Fiscale_contraente_B = ""; static String Indirizzo_contraente_B = ""; static String CAP_contraente_B = ""; static String Stato_contraente_B = ""; static String N_telefono_mail_contraente_B = ""; static String Marca_e_Tipo_B = ""; static String Targa_B = ""; static String Stato_immatricolazione_B = ""; static String Rimorchio_B = ""; static String Stato_immatricolazione2_B = ""; static String Denominazione_B = ""; static String Numero_Polizza_B = ""; static String N_carta_verde_B = ""; static String Data_Inizio_Dal_B = ""; static String Data_Scadenza_Al_B = ""; static String Agenzia_B = ""; static String Denominazione_agenzia_B = ""; static String Indirizzo_agenzia_B = ""; static String Stato_agenzia_B = ""; static String N_tel_mail_agenzia_B = ""; static bool FLAG_danni_mat_assicurati_B = false; static String Cognome_cond_B = ""; static String Nome_cond_B = ""; static String Data_nascita_cond_B = ""; static String Cod_fiscale_cond_B = ""; static String Indirizzo_cond_B = ""; static String Stato_cond_B = ""; static String N_tel_mail_cond_B = ""; static String N_Patente_cond_B = ""; static String Scadenza_cond_B = ""; static String Categoria_cond_B = ""; static List puntiUrtoB_List = []; static String danni_visibili_B = ""; static String osservazioni_B = ""; static Map circostanzeB = {}; static int totaleCrocetteB = 0; static List puntiFirmaB = []; // --- DATI GRAFICI --- static List tratti = []; static List elementi = []; static Map assicurazioni = { "AEGON": "aegon@pec.aegon.it", "AIG EUROPE": "insurance@aigeurope.postecert.it", "AIG LIFE": "aiglifestabile@pec.it", "ALLIANZ": "allianz.spa@pec.allianz.it", "ALLIANZ DIRECT": "allianzdirect@pec.allianzdirect.it", "ALLEANZA": "alleanza@pec.alleanza.it", "AMISSIMA": "amissima@pec.it", "AMTRUST ASSICURAZIONI": "amtrust.assicurazioni@pec.it", "ARAG": "arag@legalmail.it", "ARCA": "arcaassicurazioni@pec.unipol.it", "ASSICURATRICE MILANESE": "assicuratricemilanese@legalmail.it", "ASSIMOCO": "assimoco@legalmail.it", "ATHORA ITALIA": "athoraitalia@legalmail.it", "AVIVA": "aviva@pec.aviva.it", "AXA": "axaassicurazioni@axa.legalmail.it", "BCC ASSICURAZIONI": "bccassicurazioni@pec.it", "BCC VITA": "bccvita@legalmail.it", "BENE ASSICURAZIONI": "beneassicurazioni@legalmail.it", "BEREBEL": "berebel@pec.unipol.it", "BNP PARIBAS CARDIF": "cardif.assicurazioni@pec.bnpparibas.com", "CARIGE ASSICURAZIONI": "carigeassicurazioni@pec.it", "CATTOLICA": "cattolica.assicurazioni@pec.gruppocattolica.it", "CF ASSICURAZIONI": "cfassicurazioni@pec.it", "CHUBB": "chubb.italy@pec.chubb.com", "CNP VITA ASSICURA": "cnpvitaassicura@pec.it", "CONTE.IT": "admiralinteractive@legalmail.it", "CREDIT AGRICOLE": "creditagricoleassicurazioni@pec.ca-assurances.it", "CRONOS VITA": "cronosvita@legalmail.it", "DARAG ITALIA": "darag.italia@legalmail.it", "DAS": "das@legalmail.it", "DONAU": "donau@pec.it", "ERGO ASSICURAZIONI": "ergoassicurazioni@legalmail.it", "EUROHERC": "euroherc@legalmail.it", "EUROP ASSISTANCE": "europassistance@pec.europassistance.it", "FIDEURAM VITA": "fideuramvita@pec.fideuram.it", "GENERALI ITALIA": "generaliitalia@pec.generaligroup.com", "GENERTEL": "genertel@pec.genertel.it", "GIOTTO ASSICURAZIONI": "giottoassicurazioni@pec.it", "GLOBAL ASSISTANCE": "globalassistancespa@legalmail.it", "GREAT LAKES": "greatlakes@legalmail.it", "GROUPAMA": "groupama@legalmail.it", "HDI": "hdi.assicurazioni@pec.hdia.it", "HELVETIA": "helvetia@actaliscertymail.it", "INCONTRA ASSICURAZIONI": "incontraassicurazioni@pec.it", "INTESA SANPAOLO": "intesasanpaoloassicura@pec.intesasanpaolo.com", "INTESA SANPAOLO RBM SALUTE": "rbmsalute@pec.rbmsalute.it", "ITALIANA ASSICURAZIONI": "italiana@pec.italiana.it", "ITAS": "itas.mutua@pec-gruppoitas.it", "LINEAR": "linear@pec.unipol.it", "MAPFRE": "mapfreassicurazioni@pec.it", "MEDIOLANUM ASSICURAZIONI": "mediolanumassicurazioni@pec.mediolanum.it", "METLIFE": "metlife@pec.metlife.it", "NET INSURANCE": "netinsurance@legalmail.it", "NOBIS ASSICURAZIONI": "nobisassicurazioni@pec.it", "POSTE ASSICURA": "posteassicura@pec.posteassicura.it", "POSTE VITA": "postevita@pec.postevita.it", "PRIMA.IT": "prima@pec.prima.it", "QBE INSURANCE": "qbeitaly@pec.qbe.com", "QUIXA": "quixa.assicurazioni@legalmail.it", "REALE MUTUA": "realemutua@pec.realemutua.it", "SARA": "saraassicurazioni@sara.telecompost.it", "SOGESSUR": "sogessur@pec.it", "SWISS RE": "swissre@pec.swissre.com", "TELEPASS ASSICURA": "telepassassicura@pec.telepass.com", "TOKIO MARINE EUROPE": "tokiomareineeurope@legalmail.it", "TUA": "tuaassicurazioni@pec.it", "UNIQA": "uniqa@pec.uniqa.it", "UNIPOLSAI": "unipolsaiassicurazioni@pec.unipol.it", "VERTI": "verti@pec.verti.it", "VIENNA INSURANCE (WIENER)": "wieneritalia@legalmail.it", "VITTORIA": "vittoriaassicurazioni@pec.vittoriaassicurazioni.it", "WAKAM": "wakam@pec.it", "XL INSURANCE": "xlinsurance@legalmail.it", "ZURICH": "zurich.insurance.company@pec.zurich.it", "ALTRO (Inserimento manuale)": "" }; // --- RESET TOTALE --- static void reset() { latoCorrente = 'A'; data_incidente = ""; ora = ""; luogo = ""; testimoni = ""; feriti = false; Veicoli_danni_materiali_oltre = false; Oggetti_diversi_danni_materiali = false; resetA(); resetB(); elementi = []; tratti = []; idSessione = null; chiaveSegretaCorrente = null; idScambioTemporaneo = null; } // --- RESET PARZIALE --- static void resetSoloLatoOpposto() { if (latoCorrente == 'A') { resetB(); } else { resetA(); } idScambioTemporaneo = null; chiaveSegretaCorrente = null; } static void resetA() { Cognome_contraente_A = ""; Nome_contraente_A = ""; Codice_Fiscale_contraente_A = ""; Indirizzo_contraente_A = ""; CAP_contraente_A = ""; Stato_contraente_A = ""; N_telefono_mail_contraente_A = ""; Marca_e_Tipo_A = ""; Targa_A = ""; Stato_immatricolazione_A = ""; Rimorchio_A = ""; Stato_immatricolazione2_A = ""; Denominazione_A = ""; Numero_Polizza_A = ""; N_carta_verde_A = ""; Data_Inizio_Dal_A = ""; Data_Scadenza_Al_A = ""; Agenzia_A = ""; Denominazione_agenzia_A = ""; Indirizzo_agenzia_A = ""; Stato_agenzia_A = ""; N_tel_mail_agenzia_A = ""; FLAG_danni_mat_assicurati_A = false; Cognome_cond_A = ""; Nome_cond_A = ""; Data_nascita_cond_A = ""; Cod_fiscale_cond_A = ""; Indirizzo_cond_A = ""; Stato_cond_A = ""; N_tel_mail_cond_A = ""; N_Patente_cond_A = ""; Scadenza_cond_A = ""; Categoria_cond_A = ""; puntiUrtoA_List = []; danni_visibili_A = ""; osservazioni_A = ""; circostanzeA = {}; totaleCrocetteA = 0; puntiFirmaA = []; } static void resetB() { Cognome_contraente_B = ""; Nome_contraente_B = ""; Codice_Fiscale_contraente_B = ""; Indirizzo_contraente_B = ""; CAP_contraente_B = ""; Stato_contraente_B = ""; N_telefono_mail_contraente_B = ""; Marca_e_Tipo_B = ""; Targa_B = ""; Stato_immatricolazione_B = ""; Rimorchio_B = ""; Stato_immatricolazione2_B = ""; Denominazione_B = ""; Numero_Polizza_B = ""; N_carta_verde_B = ""; Data_Inizio_Dal_B = ""; Data_Scadenza_Al_B = ""; Agenzia_B = ""; Denominazione_agenzia_B = ""; Indirizzo_agenzia_B = ""; Stato_agenzia_B = ""; N_tel_mail_agenzia_B = ""; FLAG_danni_mat_assicurati_B = false; Cognome_cond_B = ""; Nome_cond_B = ""; Data_nascita_cond_B = ""; Cod_fiscale_cond_B = ""; Indirizzo_cond_B = ""; Stato_cond_B = ""; N_tel_mail_cond_B = ""; N_Patente_cond_B = ""; Scadenza_cond_B = ""; Categoria_cond_B = ""; puntiUrtoB_List = []; danni_visibili_B = ""; osservazioni_B = ""; circostanzeB = {}; totaleCrocetteB = 0; puntiFirmaB = []; } // --- DEBUG COMPLETO (Tutti i campi popolati) --- static void popolaDatiDiTest() { idScambioTemporaneo = null; // Header data_incidente = "01/01/2024"; ora = "12:30"; luogo = "ROMA, VIA DEL CORSO 10"; testimoni = "SIG. BIANCHI GIOVANNI, VIA VERDI 5, MILANO"; feriti = false; Veicoli_danni_materiali_oltre = false; Oggetti_diversi_danni_materiali = true; if (latoCorrente == 'A') { // Dati A Cognome_contraente_A = "ROSSI"; Nome_contraente_A = "MARIO"; Codice_Fiscale_contraente_A = "RSSMRA80A01H501U"; Indirizzo_contraente_A = "VIA ROMA 1"; CAP_contraente_A = "00100"; Stato_contraente_A = "ITALIA"; N_telefono_mail_contraente_A = "333.1234567"; Marca_e_Tipo_A = "FIAT PANDA"; Targa_A = "AA123AA"; Stato_immatricolazione_A = "IT"; Rimorchio_A = ""; Stato_immatricolazione2_A = ""; Denominazione_A = "GENERALI"; Numero_Polizza_A = "123456"; N_carta_verde_A = "CV-001"; Data_Inizio_Dal_A = "01/01/2023"; Data_Scadenza_Al_A = "01/01/2024"; Agenzia_A = "ROMA"; Denominazione_agenzia_A = "AG. CENTRALE"; Indirizzo_agenzia_A = "VIA PO 20"; Stato_agenzia_A = "IT"; N_tel_mail_agenzia_A = "ag@mail.it"; FLAG_danni_mat_assicurati_A = true; Cognome_cond_A = "ROSSI"; Nome_cond_A = "MARIO"; Data_nascita_cond_A = "01/01/1980"; Cod_fiscale_cond_A = "RSSMRA80"; Indirizzo_cond_A = "VIA ROMA 1"; Stato_cond_A = "IT"; N_tel_mail_cond_A = "333.1234567"; N_Patente_cond_A = "PAT-001"; Scadenza_cond_A = "01/01/2030"; Categoria_cond_A = "B"; puntiUrtoA_List = ["Anteriore"]; danni_visibili_A = "PARAURTI ROTTO"; osservazioni_A = "RAGIONE PIENA"; circostanzeA = {1:true}; puntiFirmaA = [const Offset(0,0), const Offset(10,10)]; tratti = [TrattoPenna([const Offset(10,10), const Offset(100,100)], tipo: 'penna')]; resetB(); } else { // Dati B Cognome_contraente_B = "VERDI"; Nome_contraente_B = "LUIGI"; Codice_Fiscale_contraente_B = "VRDLGU90B02F205Z"; Indirizzo_contraente_B = "MILANO"; CAP_contraente_B = "20100"; Stato_contraente_B = "ITALIA"; N_telefono_mail_contraente_B = "340.9876543"; Marca_e_Tipo_B = "FORD FIESTA"; Targa_B = "BB987BB"; Stato_immatricolazione_B = "IT"; Rimorchio_B = ""; Stato_immatricolazione2_B = ""; Denominazione_B = "ALLIANZ"; Numero_Polizza_B = "987654"; N_carta_verde_B = "CV-002"; Data_Inizio_Dal_B = "01/01/2023"; Data_Scadenza_Al_B = "01/01/2024"; Agenzia_B = "MILANO"; Denominazione_agenzia_B = "AG. NORD"; Indirizzo_agenzia_B = "VIA DANTE 1"; Stato_agenzia_B = "IT"; N_tel_mail_agenzia_B = "mi@mail.it"; FLAG_danni_mat_assicurati_B = false; Cognome_cond_B = "VERDI"; Nome_cond_B = "LUIGI"; Data_nascita_cond_B = "02/02/1990"; Cod_fiscale_cond_B = "VRDLGU90"; Indirizzo_cond_B = "MILANO"; Stato_cond_B = "IT"; N_tel_mail_cond_B = "340.9876543"; N_Patente_cond_B = "PAT-002"; Scadenza_cond_B = "02/02/2030"; Categoria_cond_B = "B"; puntiUrtoB_List = ["Posteriore"]; danni_visibili_B = "PARAURTI POST ROTTO"; osservazioni_B = "NON HO VISTO"; circostanzeB = {12:true}; puntiFirmaB = [const Offset(0,0), const Offset(10,10)]; resetA(); } } }