2026-02-27 23:26:13 +01:00
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 ;
2026-04-25 00:00:03 +02:00
static bool isPro = false ; // Stato abbonamento RevenueCat
2026-02-27 23:26:13 +01:00
// --- DATI GENERALI (NON CANCELLATI DAI RESET PARZIALI) ---
2026-05-02 12:00:02 +02:00
static String dataIncidente = " " ;
2026-02-27 23:26:13 +01:00
static String ora = " " ;
static String luogo = " " ;
static String testimoni = " " ;
static bool feriti = false ;
2026-05-02 12:00:02 +02:00
static bool veicoliDanniMaterialiOltre = false ;
static bool oggettiDiversiDanniMateriali = false ;
2026-02-27 23:26:13 +01:00
// --- DATI LATO A (BLU) ---
2026-05-02 12:00:02 +02:00
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 < String > puntiUrtoA_List = [ ] ; static String danniVisibiliA = " " ; static String osservazioniA = " " ; static Map < int , bool > circostanzeA = { } ; static int totaleCrocetteA = 0 ; static List < Offset ? > puntiFirmaA = [ ] ;
2026-02-27 23:26:13 +01:00
// --- DATI LATO B (GIALLO) ---
2026-05-02 12:00:02 +02:00
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 < String > puntiUrtoB_List = [ ] ; static String danniVisibiliB = " " ; static String osservazioniB = " " ; static Map < int , bool > circostanzeB = { } ; static int totaleCrocetteB = 0 ; static List < Offset ? > puntiFirmaB = [ ] ;
2026-02-27 23:26:13 +01:00
2026-04-28 15:00:01 +02:00
// --- 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 = " " ;
2026-02-27 23:26:13 +01:00
// --- DATI GRAFICI ---
static List < dynamic > tratti = [ ] ;
static List < dynamic > elementi = [ ] ;
static Map < String , String > 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 ' ;
2026-05-02 12:00:02 +02:00
dataIncidente = " " ; ora = " " ; luogo = " " ; testimoni = " " ; feriti = false ;
veicoliDanniMaterialiOltre = false ; oggettiDiversiDanniMateriali = false ;
2026-02-27 23:26:13 +01:00
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 ( ) {
2026-05-02 12:00:02 +02:00
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 = [ ] ;
2026-04-28 15:00:01 +02:00
feaVerifiedA = false ; otpDataOraA = " " ; otpIdA = " " ;
2026-02-27 23:26:13 +01:00
}
static void resetB ( ) {
2026-05-02 12:00:02 +02:00
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 = [ ] ;
2026-04-28 15:00:01 +02:00
feaVerifiedB = false ; otpDataOraB = " " ; otpIdB = " " ;
2026-02-27 23:26:13 +01:00
}
// --- DEBUG COMPLETO (Tutti i campi popolati) ---
static void popolaDatiDiTest ( ) {
idScambioTemporaneo = null ;
// Header
2026-05-02 12:00:02 +02:00
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 ;
2026-02-27 23:26:13 +01:00
if ( latoCorrente = = ' A ' ) {
// Dati A
2026-05-02 12:00:02 +02:00
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 } ;
2026-02-27 23:26:13 +01:00
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
2026-05-02 12:00:02 +02:00
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 } ;
2026-02-27 23:26:13 +01:00
puntiFirmaB = [ const Offset ( 0 , 0 ) , const Offset ( 10 , 10 ) ] ;
resetA ( ) ;
}
}
}