cid_app/lib/global_data.dart

198 lines
13 KiB
Dart
Raw Normal View History

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();
}
}
}