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; static bool isPro = false; // Stato abbonamento RevenueCat // --- DATI GENERALI (NON CANCELLATI DAI RESET PARZIALI) --- static String dataIncidente = ""; static String ora = ""; static String luogo = ""; static String testimoni = ""; static bool feriti = false; static bool veicoliDanniMaterialiOltre = false; static bool oggettiDiversiDanniMateriali = false; // --- DATI LATO A (BLU) --- static String cognomeContraenteA = ""; static String nomeContraenteA = ""; static String codiceFiscaleContraenteA = ""; static String indirizzoContraenteA = ""; static String capContraenteA = ""; static String statoContraenteA = ""; static String nTelefonoMailContraenteA = ""; static String emailContraenteA = ""; static String marcaETipoA = ""; static String targaA = ""; static String statoImmatricolazioneA = ""; static String rimorchioA = ""; static String statoImmatricolazione2A = ""; static String denominazioneA = ""; static String numeroPolizzaA = ""; static String nCartaVerdeA = ""; static String dataInizioDalA = ""; static String dataScadenzaAlA = ""; static String agenziaA = ""; static String denominazioneAgenziaA = ""; static String indirizzoAgenziaA = ""; static String statoAgenziaA = ""; static String nTelMailAgenziaA = ""; static bool flagDanniMatAssicuratiA = false; static String cognomeCondA = ""; static String nomeCondA = ""; static String dataNascitaCondA = ""; static String codFiscaleCondA = ""; static String indirizzoCondA = ""; static String statoCondA = ""; static String nTelMailCondA = ""; static String emailCondA = ""; static String nPatenteCondA = ""; static String scadenzaCondA = ""; static String categoriaCondA = ""; static List puntiUrtoA_List = []; static String danniVisibiliA = ""; static String osservazioniA = ""; static Map circostanzeA = {}; static int totaleCrocetteA = 0; static List puntiFirmaA = []; // --- DATI LATO B (GIALLO) --- static String cognomeContraenteB = ""; static String nomeContraenteB = ""; static String codiceFiscaleContraenteB = ""; static String indirizzoContraenteB = ""; static String capContraenteB = ""; static String statoContraenteB = ""; static String nTelefonoMailContraenteB = ""; static String emailContraenteB = ""; static String marcaETipoB = ""; static String targaB = ""; static String statoImmatricolazioneB = ""; static String rimorchioB = ""; static String statoImmatricolazione2B = ""; static String denominazioneB = ""; static String numeroPolizzaB = ""; static String nCartaVerdeB = ""; static String dataInizioDalB = ""; static String dataScadenzaAlB = ""; static String agenziaB = ""; static String denominazioneAgenziaB = ""; static String indirizzoAgenziaB = ""; static String statoAgenziaB = ""; static String nTelMailAgenziaB = ""; static bool flagDanniMatAssicuratiB = false; static String cognomeCondB = ""; static String nomeCondB = ""; static String dataNascitaCondB = ""; static String codFiscaleCondB = ""; static String indirizzoCondB = ""; static String statoCondB = ""; static String nTelMailCondB = ""; static String emailCondB = ""; static String nPatenteCondB = ""; static String scadenzaCondB = ""; static String categoriaCondB = ""; static List puntiUrtoB_List = []; static String danniVisibiliB = ""; static String osservazioniB = ""; static Map circostanzeB = {}; static int totaleCrocetteB = 0; static List puntiFirmaB = []; // --- DATI FEA (Firma Elettronica Avanzata) --- static bool feaVerifiedA = false; static String otpDataOraA = ""; static String otpIdA = ""; static bool feaVerifiedB = false; static String otpDataOraB = ""; static String otpIdB = ""; // --- 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'; dataIncidente = ""; ora = ""; luogo = ""; testimoni = ""; feriti = false; veicoliDanniMaterialiOltre = false; oggettiDiversiDanniMateriali = 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() { cognomeContraenteA = ""; nomeContraenteA = ""; codiceFiscaleContraenteA = ""; indirizzoContraenteA = ""; capContraenteA = ""; statoContraenteA = ""; nTelefonoMailContraenteA = ""; emailContraenteA = ""; marcaETipoA = ""; targaA = ""; statoImmatricolazioneA = ""; rimorchioA = ""; statoImmatricolazione2A = ""; denominazioneA = ""; numeroPolizzaA = ""; nCartaVerdeA = ""; dataInizioDalA = ""; dataScadenzaAlA = ""; agenziaA = ""; denominazioneAgenziaA = ""; indirizzoAgenziaA = ""; statoAgenziaA = ""; nTelMailAgenziaA = ""; flagDanniMatAssicuratiA = false; cognomeCondA = ""; nomeCondA = ""; dataNascitaCondA = ""; codFiscaleCondA = ""; indirizzoCondA = ""; statoCondA = ""; nTelMailCondA = ""; emailCondA = ""; nPatenteCondA = ""; scadenzaCondA = ""; categoriaCondA = ""; puntiUrtoA_List = []; danniVisibiliA = ""; osservazioniA = ""; circostanzeA = {}; totaleCrocetteA = 0; puntiFirmaA = []; feaVerifiedA = false; otpDataOraA = ""; otpIdA = ""; } static void resetB() { cognomeContraenteB = ""; nomeContraenteB = ""; codiceFiscaleContraenteB = ""; indirizzoContraenteB = ""; capContraenteB = ""; statoContraenteB = ""; nTelefonoMailContraenteB = ""; emailContraenteB = ""; marcaETipoB = ""; targaB = ""; statoImmatricolazioneB = ""; rimorchioB = ""; statoImmatricolazione2B = ""; denominazioneB = ""; numeroPolizzaB = ""; nCartaVerdeB = ""; dataInizioDalB = ""; dataScadenzaAlB = ""; agenziaB = ""; denominazioneAgenziaB = ""; indirizzoAgenziaB = ""; statoAgenziaB = ""; nTelMailAgenziaB = ""; flagDanniMatAssicuratiB = false; cognomeCondB = ""; nomeCondB = ""; dataNascitaCondB = ""; codFiscaleCondB = ""; indirizzoCondB = ""; statoCondB = ""; nTelMailCondB = ""; emailCondB = ""; nPatenteCondB = ""; scadenzaCondB = ""; categoriaCondB = ""; puntiUrtoB_List = []; danniVisibiliB = ""; osservazioniB = ""; circostanzeB = {}; totaleCrocetteB = 0; puntiFirmaB = []; feaVerifiedB = false; otpDataOraB = ""; otpIdB = ""; } // --- DEBUG COMPLETO (Tutti i campi popolati) --- static void popolaDatiDiTest() { idScambioTemporaneo = null; // Header dataIncidente = "01/01/2024"; ora = "12:30"; luogo = "ROMA, VIA DEL CORSO 10"; testimoni = "SIG. BIANCHI GIOVANNI, VIA VERDI 5, MILANO"; feriti = false; veicoliDanniMaterialiOltre = false; oggettiDiversiDanniMateriali = true; if (latoCorrente == 'A') { // Dati A cognomeContraenteA = "ROSSI"; nomeContraenteA = "MARIO"; codiceFiscaleContraenteA = "RSSMRA80A01H501U"; indirizzoContraenteA = "VIA ROMA 1"; capContraenteA = "00100"; statoContraenteA = "ITALIA"; nTelefonoMailContraenteA = "333.1234567"; emailContraenteA = "mario.rossi@email.it"; marcaETipoA = "FIAT PANDA"; targaA = "AA123AA"; statoImmatricolazioneA = "IT"; rimorchioA = ""; statoImmatricolazione2A = ""; denominazioneA = "GENERALI"; numeroPolizzaA = "123456"; nCartaVerdeA = "CV-001"; dataInizioDalA = "01/01/2023"; dataScadenzaAlA = "01/01/2024"; agenziaA = "ROMA"; denominazioneAgenziaA = "AG. CENTRALE"; indirizzoAgenziaA = "VIA PO 20"; statoAgenziaA = "IT"; nTelMailAgenziaA = "ag@mail.it"; flagDanniMatAssicuratiA = true; cognomeCondA = "ROSSI"; nomeCondA = "MARIO"; dataNascitaCondA = "01/01/1980"; codFiscaleCondA = "RSSMRA80"; indirizzoCondA = "VIA ROMA 1"; statoCondA = "IT"; nTelMailCondA = "333.1234567"; emailCondA = "mario.rossi@email.it"; nPatenteCondA = "PAT-001"; scadenzaCondA = "01/01/2030"; categoriaCondA = "B"; puntiUrtoA_List = ["Anteriore"]; danniVisibiliA = "PARAURTI ROTTO"; osservazioniA = "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 cognomeContraenteB = "VERDI"; nomeContraenteB = "LUIGI"; codiceFiscaleContraenteB = "VRDLGU90B02F205Z"; indirizzoContraenteB = "MILANO"; capContraenteB = "20100"; statoContraenteB = "ITALIA"; nTelefonoMailContraenteB = "340.9876543"; emailContraenteB = "luigi.verdi@email.it"; marcaETipoB = "FORD FIESTA"; targaB = "BB987BB"; statoImmatricolazioneB = "IT"; rimorchioB = ""; statoImmatricolazione2B = ""; denominazioneB = "ALLIANZ"; numeroPolizzaB = "987654"; nCartaVerdeB = "CV-002"; dataInizioDalB = "01/01/2023"; dataScadenzaAlB = "01/01/2024"; agenziaB = "MILANO"; denominazioneAgenziaB = "AG. NORD"; indirizzoAgenziaB = "VIA DANTE 1"; statoAgenziaB = "IT"; nTelMailAgenziaB = "mi@mail.it"; flagDanniMatAssicuratiB = false; cognomeCondB = "VERDI"; nomeCondB = "LUIGI"; dataNascitaCondB = "02/02/1990"; codFiscaleCondB = "VRDLGU90"; indirizzoCondB = "MILANO"; statoCondB = "IT"; nTelMailCondB = "340.9876543"; emailCondB = "luigi.verdi@email.it"; nPatenteCondB = "PAT-002"; scadenzaCondB = "02/02/2030"; categoriaCondB = "B"; puntiUrtoB_List = ["Posteriore"]; danniVisibiliB = "PARAURTI POST ROTTO"; osservazioniB = "NON HO VISTO"; circostanzeB = {12:true}; puntiFirmaB = [const Offset(0,0), const Offset(10,10)]; resetA(); } } }