diff --git a/-.notab/StoreContent b/-.notab/StoreContent new file mode 100644 index 0000000..e5460db Binary files /dev/null and b/-.notab/StoreContent differ diff --git a/-.notab/StoreContent-shm b/-.notab/StoreContent-shm new file mode 100644 index 0000000..03de209 Binary files /dev/null and b/-.notab/StoreContent-shm differ diff --git a/-.notab/StoreContent-wal b/-.notab/StoreContent-wal new file mode 100644 index 0000000..e69de29 diff --git a/.DS_Store b/.DS_Store index 1b7fa2e..5a5f262 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/lib/cai_mapping.dart b/lib/cai_mapping.dart index b0d464d..c29805a 100644 --- a/lib/cai_mapping.dart +++ b/lib/cai_mapping.dart @@ -2,88 +2,88 @@ class CaiMapping { static const Map testi = { // HEADER - 'data_incidente': 'data_sinistro', + 'dataIncidente': 'data_sinistro', 'ora': 'ora', 'luogo': 'luogo_sinistro', 'testimoni': 'testimoni1', // VEICOLO A - 'Cognome_contraente_A': 'cognome_contraenteA', - 'Nome_contraente_A': 'nome_contraenteA', - 'Codice_Fiscale_contraente_A': 'codice_fiscale_contrA', - 'Indirizzo_contraente_A': 'indirizzo_contrA', - 'CAP_contraente_A': 'cap_contrA', - 'Stato_contraente_A': 'stato_contrA', - 'N_telefono_mail_contraente_A': 'tel_contrA', - 'Marca_e_Tipo_A': 'marcaA', - 'Targa_A': 'targa_veicoloA', - 'Stato_immatricolazione_A': 'stato_im_veicoloA', - 'Rimorchio_A': 'targa_rimorchioA', - 'Stato_immatricolazione2_A': 'stato_im_rimorchioA', - 'Denominazione_A': 'COMPAGNIA', - 'Numero_Polizza_A': 'numero_polizzaA', - 'N_carta_verde_A': 'CVA', - 'Data_Inizio_Dal_A': 'ass_dalA', - 'Data_Scadenza_Al_A': 'ass_alA', - 'Agenzia_A': 'AGENZIA_A', - 'Denominazione_agenzia_A': 'denom_A', - 'Indirizzo_agenzia_A': 'ind_ag_A', - 'Stato_agenzia_A': 'ag_stat_A', - 'N_tel_mail_agenzia_A': 'tel_ag_A', - 'Cognome_cond_A': 'cogn_cond_A', - 'Nome_cond_A': 'nome_cond_A', - 'Data_nascita_cond_A': 'dnascita_condA', - 'Cod_fiscale_cond_A': 'codice_fiscale_conduA', - 'Indirizzo_cond_A': 'indir_conduA', - 'Stato_cond_A': 'stato_conduA', - 'N_tel_mail_cond_A': 'tel_conduA', - 'N_Patente_cond_A': 'n_p_conduA', - 'Scadenza_cond_A': 'condu_scad_A', + 'cognomeContraenteA': 'cognome_contraenteA', + 'nomeContraenteA': 'nome_contraenteA', + 'codiceFiscaleContraenteA': 'codice_fiscale_contrA', + 'indirizzoContraenteA': 'indirizzo_contrA', + 'capContraenteA': 'cap_contrA', + 'statoContraenteA': 'stato_contrA', + 'nTelefonoMailContraenteA': 'tel_contrA', + 'marcaETipoA': 'marcaA', + 'targaA': 'targa_veicoloA', + 'statoImmatricolazioneA': 'stato_im_veicoloA', + 'rimorchioA': 'targa_rimorchioA', + 'statoImmatricolazione2A': 'stato_im_rimorchioA', + 'denominazioneA': 'COMPAGNIA', + 'numeroPolizzaA': 'numero_polizzaA', + 'nCartaVerdeA': 'CVA', + 'dataInizioDalA': 'ass_dalA', + 'dataScadenzaAlA': 'ass_alA', + 'agenziaA': 'AGENZIA_A', + 'denominazioneAgenziaA': 'denom_A', + 'indirizzoAgenziaA': 'ind_ag_A', + 'statoAgenziaA': 'ag_stat_A', + 'nTelMailAgenziaA': 'tel_ag_A', + 'cognomeCondA': 'cogn_cond_A', + 'nomeCondA': 'nome_cond_A', + 'dataNascitaCondA': 'dnascita_condA', + 'codFiscaleCondA': 'codice_fiscale_conduA', + 'indirizzoCondA': 'indir_conduA', + 'statoCondA': 'stato_conduA', + 'nTelMailCondA': 'tel_conduA', + 'nPatenteCondA': 'n_p_conduA', + 'scadenzaCondA': 'condu_scad_A', // --- AGGIUNTO CATEGORIA A --- - 'Categoria_cond_A': 'cat_A', // <--- VERIFICA QUESTO NOME NEL PDF (es. cat_A, catA, CategA...) + 'categoriaCondA': 'cat_A', // <--- VERIFICA QUESTO NOME NEL PDF (es. cat_A, catA, CategA...) - 'danni_visibili_A': 'danni_vis_A1', - 'osservazioni_A': 'osservazioniA', + 'danniVisibiliA': 'danni_vis_A1', + 'osservazioniA': 'osservazioniA', // VEICOLO B - 'Cognome_contraente_B': 'cognome_contraenteB', - 'Nome_contraente_B': 'nome_contraenteB', - 'Codice_Fiscale_contraente_B': 'codice_fiscale_contrB', - 'Indirizzo_contraente_B': 'indirizzo_contrB', - 'CAP_contraente_B': 'cap_contrB', - 'Stato_contraente_B': 'stato_contrB', - 'N_telefono_mail_contraente_B': 'tel_contrB', - 'Marca_e_Tipo_B': 'marcaB', - 'Targa_B': 'targa_veicoloB', - 'Stato_immatricolazione_B': 'stato_im_veicoloB', - 'Rimorchio_B': 'targa_rimorchioB', - 'Stato_immatricolazione2_B': 'stato_im_rimorchioB', - 'Denominazione_B': 'compagnia1', - 'Numero_Polizza_B': 'numero_polizzaB', - 'N_carta_verde_B': 'CVB', - 'Data_Inizio_Dal_B': 'ass_dalB', - 'Data_Scadenza_Al_B': 'ass_alB', - 'Agenzia_B': 'AGENZIA_B', - 'Denominazione_agenzia_B': 'denom_B', - 'Indirizzo_agenzia_B': 'ind_ag_B', - 'Stato_agenzia_B': 'ag_stat_B', - 'N_tel_mail_agenzia_B': 'tel_ag_B', - 'Cognome_cond_B': 'cogn_cond_B', - 'Nome_cond_B': 'nome_cond_B', - 'Data_nascita_cond_B': 'dnascita_condB', - 'Cod_fiscale_cond_B': 'codice_fiscale_conduB', - 'Indirizzo_cond_B': 'indir_conduB', - 'Stato_cond_B': 'stato_conduB', - 'N_tel_mail_cond_B': 'tel_conduB', - 'N_Patente_cond_B': 'n_p_conduB', - 'Scadenza_cond_B': 'condu_scad_B', + 'cognomeContraenteB': 'cognome_contraenteB', + 'nomeContraenteB': 'nome_contraenteB', + 'codiceFiscaleContraenteB': 'codice_fiscale_contrB', + 'indirizzoContraenteB': 'indirizzo_contrB', + 'capContraenteB': 'cap_contrB', + 'statoContraenteB': 'stato_contrB', + 'nTelefonoMailContraenteB': 'tel_contrB', + 'marcaETipoB': 'marcaB', + 'targaB': 'targa_veicoloB', + 'statoImmatricolazioneB': 'stato_im_veicoloB', + 'rimorchioB': 'targa_rimorchioB', + 'statoImmatricolazione2B': 'stato_im_rimorchioB', + 'denominazioneB': 'compagnia1', + 'numeroPolizzaB': 'numero_polizzaB', + 'nCartaVerdeB': 'CVB', + 'dataInizioDalB': 'ass_dalB', + 'dataScadenzaAlB': 'ass_alB', + 'agenziaB': 'AGENZIA_B', + 'denominazioneAgenziaB': 'denom_B', + 'indirizzoAgenziaB': 'ind_ag_B', + 'statoAgenziaB': 'ag_stat_B', + 'nTelMailAgenziaB': 'tel_ag_B', + 'cognomeCondB': 'cogn_cond_B', + 'nomeCondB': 'nome_cond_B', + 'dataNascitaCondB': 'dnascita_condB', + 'codFiscaleCondB': 'codice_fiscale_conduB', + 'indirizzoCondB': 'indir_conduB', + 'statoCondB': 'stato_conduB', + 'nTelMailCondB': 'tel_conduB', + 'nPatenteCondB': 'n_p_conduB', + 'scadenzaCondB': 'condu_scad_B', // --- AGGIUNTO CATEGORIA B --- - 'Categoria_cond_B': 'cat_B', // <--- VERIFICA QUESTO NOME NEL PDF + 'categoriaCondB': 'cat_B', // <--- VERIFICA QUESTO NOME NEL PDF - 'danni_visibili_B': 'danni_vis_B1', - 'osservazioni_B': 'osservazioniB', + 'danniVisibiliB': 'danni_vis_B1', + 'osservazioniB': 'osservazioniB', }; // CHECKBOX diff --git a/lib/cid_data_manager.dart b/lib/cid_data_manager.dart index a7a5f1d..80b01f9 100644 --- a/lib/cid_data_manager.dart +++ b/lib/cid_data_manager.dart @@ -18,13 +18,13 @@ class CidDataManager { return { 'lato': lato, 'generali': { - 'data': GlobalData.data_incidente, + 'data': GlobalData.dataIncidente, 'ora': GlobalData.ora, 'luogo': GlobalData.luogo, 'feriti': GlobalData.feriti, 'testimoni': GlobalData.testimoni, - 'danni_materiali': GlobalData.Veicoli_danni_materiali_oltre, - 'oggetti_diversi': GlobalData.Oggetti_diversi_danni_materiali, + 'danni_materiali': GlobalData.veicoliDanniMaterialiOltre, + 'oggetti_diversi': GlobalData.oggettiDiversiDanniMateriali, }, 'circostanze': _serializeCircostanze(lato == 'A' ? GlobalData.circostanzeA : GlobalData.circostanzeB), @@ -40,49 +40,51 @@ class CidDataManager { 'firma': _serializePunti(lato == 'A' ? GlobalData.puntiFirmaA : GlobalData.puntiFirmaB), 'contraente': { - 'cognome': val(GlobalData.Cognome_contraente_A, GlobalData.Cognome_contraente_B, lato), - 'nome': val(GlobalData.Nome_contraente_A, GlobalData.Nome_contraente_B, lato), - 'cf': val(GlobalData.Codice_Fiscale_contraente_A, GlobalData.Codice_Fiscale_contraente_B, lato), - 'indirizzo': val(GlobalData.Indirizzo_contraente_A, GlobalData.Indirizzo_contraente_B, lato), - 'cap': val(GlobalData.CAP_contraente_A, GlobalData.CAP_contraente_B, lato), - 'stato': val(GlobalData.Stato_contraente_A, GlobalData.Stato_contraente_B, lato), - 'tel': val(GlobalData.N_telefono_mail_contraente_A, GlobalData.N_telefono_mail_contraente_B, lato), + 'cognome': val(GlobalData.cognomeContraenteA, GlobalData.cognomeContraenteB, lato), + 'nome': val(GlobalData.nomeContraenteA, GlobalData.nomeContraenteB, lato), + 'cf': val(GlobalData.codiceFiscaleContraenteA, GlobalData.codiceFiscaleContraenteB, lato), + 'indirizzo': val(GlobalData.indirizzoContraenteA, GlobalData.indirizzoContraenteB, lato), + 'cap': val(GlobalData.capContraenteA, GlobalData.capContraenteB, lato), + 'stato': val(GlobalData.statoContraenteA, GlobalData.statoContraenteB, lato), + 'tel': val(GlobalData.nTelefonoMailContraenteA, GlobalData.nTelefonoMailContraenteB, lato), + 'email': val(GlobalData.emailContraenteA, GlobalData.emailContraenteB, lato), }, 'veicolo': { - 'marca': val(GlobalData.Marca_e_Tipo_A, GlobalData.Marca_e_Tipo_B, lato), - 'targa': val(GlobalData.Targa_A, GlobalData.Targa_B, lato), - 'stato_imm': val(GlobalData.Stato_immatricolazione_A, GlobalData.Stato_immatricolazione_B, lato), - 'stato_imm2': val(GlobalData.Stato_immatricolazione2_A, GlobalData.Stato_immatricolazione2_B, lato), - 'rimorchio': val(GlobalData.Rimorchio_A, GlobalData.Rimorchio_B, lato), + 'marca': val(GlobalData.marcaETipoA, GlobalData.marcaETipoB, lato), + 'targa': val(GlobalData.targaA, GlobalData.targaB, lato), + 'stato_imm': val(GlobalData.statoImmatricolazioneA, GlobalData.statoImmatricolazioneB, lato), + 'stato_imm2': val(GlobalData.statoImmatricolazione2A, GlobalData.statoImmatricolazione2B, lato), + 'rimorchio': val(GlobalData.rimorchioA, GlobalData.rimorchioB, lato), }, 'assicurazione': { - 'denominazione': val(GlobalData.Denominazione_A, GlobalData.Denominazione_B, lato), - 'polizza': val(GlobalData.Numero_Polizza_A, GlobalData.Numero_Polizza_B, lato), - 'agenzia': val(GlobalData.Agenzia_A, GlobalData.Agenzia_B, lato), - 'denom_agenzia': val(GlobalData.Denominazione_agenzia_A, GlobalData.Denominazione_agenzia_B, lato), - 'indirizzo_agenzia': val(GlobalData.Indirizzo_agenzia_A, GlobalData.Indirizzo_agenzia_B, lato), - 'stato_agenzia': val(GlobalData.Stato_agenzia_A, GlobalData.Stato_agenzia_B, lato), - 'tel_agenzia': val(GlobalData.N_tel_mail_agenzia_A, GlobalData.N_tel_mail_agenzia_B, lato), - 'carta_verde': val(GlobalData.N_carta_verde_A, GlobalData.N_carta_verde_B, lato), - 'validita_dal': val(GlobalData.Data_Inizio_Dal_A, GlobalData.Data_Inizio_Dal_B, lato), - 'validita_al': val(GlobalData.Data_Scadenza_Al_A, GlobalData.Data_Scadenza_Al_B, lato), - 'flag_danni': valB(GlobalData.FLAG_danni_mat_assicurati_A, GlobalData.FLAG_danni_mat_assicurati_B, lato), + 'denominazione': val(GlobalData.denominazioneA, GlobalData.denominazioneB, lato), + 'polizza': val(GlobalData.numeroPolizzaA, GlobalData.numeroPolizzaB, lato), + 'agenzia': val(GlobalData.agenziaA, GlobalData.agenziaB, lato), + 'denom_agenzia': val(GlobalData.denominazioneAgenziaA, GlobalData.denominazioneAgenziaB, lato), + 'indirizzo_agenzia': val(GlobalData.indirizzoAgenziaA, GlobalData.indirizzoAgenziaB, lato), + 'stato_agenzia': val(GlobalData.statoAgenziaA, GlobalData.statoAgenziaB, lato), + 'tel_agenzia': val(GlobalData.nTelMailAgenziaA, GlobalData.nTelMailAgenziaB, lato), + 'carta_verde': val(GlobalData.nCartaVerdeA, GlobalData.nCartaVerdeB, lato), + 'validita_dal': val(GlobalData.dataInizioDalA, GlobalData.dataInizioDalB, lato), + 'validita_al': val(GlobalData.dataScadenzaAlA, GlobalData.dataScadenzaAlB, lato), + 'flag_danni': valB(GlobalData.flagDanniMatAssicuratiA, GlobalData.flagDanniMatAssicuratiB, lato), }, 'conducente': { - 'cognome': val(GlobalData.Cognome_cond_A, GlobalData.Cognome_cond_B, lato), - 'nome': val(GlobalData.Nome_cond_A, GlobalData.Nome_cond_B, lato), - 'nascita': val(GlobalData.Data_nascita_cond_A, GlobalData.Data_nascita_cond_B, lato), - 'cf': val(GlobalData.Cod_fiscale_cond_A, GlobalData.Cod_fiscale_cond_B, lato), - 'indirizzo': val(GlobalData.Indirizzo_cond_A, GlobalData.Indirizzo_cond_B, lato), - 'stato': val(GlobalData.Stato_cond_A, GlobalData.Stato_cond_B, lato), - 'tel': val(GlobalData.N_tel_mail_cond_A, GlobalData.N_tel_mail_cond_B, lato), - 'patente': val(GlobalData.N_Patente_cond_A, GlobalData.N_Patente_cond_B, lato), - 'cat_patente': val(GlobalData.Categoria_cond_A, GlobalData.Categoria_cond_B, lato), - 'scad_patente': val(GlobalData.Scadenza_cond_A, GlobalData.Scadenza_cond_B, lato), + 'cognome': val(GlobalData.cognomeCondA, GlobalData.cognomeCondB, lato), + 'nome': val(GlobalData.nomeCondA, GlobalData.nomeCondB, lato), + 'nascita': val(GlobalData.dataNascitaCondA, GlobalData.dataNascitaCondB, lato), + 'cf': val(GlobalData.codFiscaleCondA, GlobalData.codFiscaleCondB, lato), + 'indirizzo': val(GlobalData.indirizzoCondA, GlobalData.indirizzoCondB, lato), + 'stato': val(GlobalData.statoCondA, GlobalData.statoCondB, lato), + 'tel': val(GlobalData.nTelMailCondA, GlobalData.nTelMailCondB, lato), + 'email': val(GlobalData.emailCondA, GlobalData.emailCondB, lato), + 'patente': val(GlobalData.nPatenteCondA, GlobalData.nPatenteCondB, lato), + 'cat_patente': val(GlobalData.categoriaCondA, GlobalData.categoriaCondB, lato), + 'scad_patente': val(GlobalData.scadenzaCondA, GlobalData.scadenzaCondB, lato), }, 'danni_osservazioni': { - 'visibili': val(GlobalData.danni_visibili_A, GlobalData.danni_visibili_B, lato), - 'osservazioni': val(GlobalData.osservazioni_A, GlobalData.osservazioni_B, lato), + 'visibili': val(GlobalData.danniVisibiliA, GlobalData.danniVisibiliB, lato), + 'osservazioni': val(GlobalData.osservazioniA, GlobalData.osservazioniB, lato), } }; } @@ -93,13 +95,13 @@ class CidDataManager { // 1. Dati Comuni if (data['generali'] != null) { var gen = data['generali']; - if ((gen['data'] ?? "").isNotEmpty) GlobalData.data_incidente = gen['data']; + if ((gen['data'] ?? "").isNotEmpty) GlobalData.dataIncidente = gen['data']; if ((gen['ora'] ?? "").isNotEmpty) GlobalData.ora = gen['ora']; if ((gen['luogo'] ?? "").isNotEmpty) GlobalData.luogo = gen['luogo']; if (gen['feriti'] != null) GlobalData.feriti = gen['feriti']; if (gen['testimoni'] != null) GlobalData.testimoni = gen['testimoni']; - if (gen['danni_materiali'] != null) GlobalData.Veicoli_danni_materiali_oltre = gen['danni_materiali']; - if (gen['oggetti_diversi'] != null) GlobalData.Oggetti_diversi_danni_materiali = gen['oggetti_diversi']; + if (gen['danni_materiali'] != null) GlobalData.veicoliDanniMaterialiOltre = gen['danni_materiali']; + if (gen['oggetti_diversi'] != null) GlobalData.oggettiDiversiDanniMateriali = gen['oggetti_diversi']; } // --- PROTEZIONE GRAFICO (CASSETTO 1) --- @@ -156,57 +158,59 @@ class CidDataManager { if (data['contraente'] != null) { var c = data['contraente']; - setVal((v) => GlobalData.Cognome_contraente_A = v, (v) => GlobalData.Cognome_contraente_B = v, c['cognome']); - setVal((v) => GlobalData.Nome_contraente_A = v, (v) => GlobalData.Nome_contraente_B = v, c['nome']); - setVal((v) => GlobalData.Codice_Fiscale_contraente_A = v, (v) => GlobalData.Codice_Fiscale_contraente_B = v, c['cf']); - setVal((v) => GlobalData.Indirizzo_contraente_A = v, (v) => GlobalData.Indirizzo_contraente_B = v, c['indirizzo']); - setVal((v) => GlobalData.CAP_contraente_A = v, (v) => GlobalData.CAP_contraente_B = v, c['cap']); - setVal((v) => GlobalData.Stato_contraente_A = v, (v) => GlobalData.Stato_contraente_B = v, c['stato']); - setVal((v) => GlobalData.N_telefono_mail_contraente_A = v, (v) => GlobalData.N_telefono_mail_contraente_B = v, c['tel']); + setVal((v) => GlobalData.cognomeContraenteA = v, (v) => GlobalData.cognomeContraenteB = v, c['cognome']); + setVal((v) => GlobalData.nomeContraenteA = v, (v) => GlobalData.nomeContraenteB = v, c['nome']); + setVal((v) => GlobalData.codiceFiscaleContraenteA = v, (v) => GlobalData.codiceFiscaleContraenteB = v, c['cf']); + setVal((v) => GlobalData.indirizzoContraenteA = v, (v) => GlobalData.indirizzoContraenteB = v, c['indirizzo']); + setVal((v) => GlobalData.capContraenteA = v, (v) => GlobalData.capContraenteB = v, c['cap']); + setVal((v) => GlobalData.statoContraenteA = v, (v) => GlobalData.statoContraenteB = v, c['stato']); + setVal((v) => GlobalData.nTelefonoMailContraenteA = v, (v) => GlobalData.nTelefonoMailContraenteB = v, c['tel']); + setVal((v) => GlobalData.emailContraenteA = v, (v) => GlobalData.emailContraenteB = v, c['email']); } if (data['veicolo'] != null) { var v = data['veicolo']; - setVal((v) => GlobalData.Marca_e_Tipo_A = v, (v) => GlobalData.Marca_e_Tipo_B = v, v['marca']); - setVal((v) => GlobalData.Targa_A = v, (v) => GlobalData.Targa_B = v, v['targa']); - setVal((v) => GlobalData.Stato_immatricolazione_A = v, (v) => GlobalData.Stato_immatricolazione_B = v, v['stato_imm']); - setVal((v) => GlobalData.Stato_immatricolazione2_A = v, (v) => GlobalData.Stato_immatricolazione2_B = v, v['stato_imm2']); - setVal((v) => GlobalData.Rimorchio_A = v, (v) => GlobalData.Rimorchio_B = v, v['rimorchio']); + setVal((v) => GlobalData.marcaETipoA = v, (v) => GlobalData.marcaETipoB = v, v['marca']); + setVal((v) => GlobalData.targaA = v, (v) => GlobalData.targaB = v, v['targa']); + setVal((v) => GlobalData.statoImmatricolazioneA = v, (v) => GlobalData.statoImmatricolazioneB = v, v['stato_imm']); + setVal((v) => GlobalData.statoImmatricolazione2A = v, (v) => GlobalData.statoImmatricolazione2B = v, v['stato_imm2']); + setVal((v) => GlobalData.rimorchioA = v, (v) => GlobalData.rimorchioB = v, v['rimorchio']); } if (data['assicurazione'] != null) { var a = data['assicurazione']; - setVal((v) => GlobalData.Denominazione_A = v, (v) => GlobalData.Denominazione_B = v, a['denominazione']); - setVal((v) => GlobalData.Numero_Polizza_A = v, (v) => GlobalData.Numero_Polizza_B = v, a['polizza']); - setVal((v) => GlobalData.Agenzia_A = v, (v) => GlobalData.Agenzia_B = v, a['agenzia']); - setVal((v) => GlobalData.Denominazione_agenzia_A = v, (v) => GlobalData.Denominazione_agenzia_B = v, a['denom_agenzia']); - setVal((v) => GlobalData.Indirizzo_agenzia_A = v, (v) => GlobalData.Indirizzo_agenzia_B = v, a['indirizzo_agenzia']); - setVal((v) => GlobalData.Stato_agenzia_A = v, (v) => GlobalData.Stato_agenzia_B = v, a['stato_agenzia']); - setVal((v) => GlobalData.N_tel_mail_agenzia_A = v, (v) => GlobalData.N_tel_mail_agenzia_B = v, a['tel_agenzia']); - setVal((v) => GlobalData.N_carta_verde_A = v, (v) => GlobalData.N_carta_verde_B = v, a['carta_verde']); - setVal((v) => GlobalData.Data_Inizio_Dal_A = v, (v) => GlobalData.Data_Inizio_Dal_B = v, a['validita_dal']); - setVal((v) => GlobalData.Data_Scadenza_Al_A = v, (v) => GlobalData.Data_Scadenza_Al_B = v, a['validita_al']); - setBool((v) => GlobalData.FLAG_danni_mat_assicurati_A = v, (v) => GlobalData.FLAG_danni_mat_assicurati_B = v, a['flag_danni']); + setVal((v) => GlobalData.denominazioneA = v, (v) => GlobalData.denominazioneB = v, a['denominazione']); + setVal((v) => GlobalData.numeroPolizzaA = v, (v) => GlobalData.numeroPolizzaB = v, a['polizza']); + setVal((v) => GlobalData.agenziaA = v, (v) => GlobalData.agenziaB = v, a['agenzia']); + setVal((v) => GlobalData.denominazioneAgenziaA = v, (v) => GlobalData.denominazioneAgenziaB = v, a['denom_agenzia']); + setVal((v) => GlobalData.indirizzoAgenziaA = v, (v) => GlobalData.indirizzoAgenziaB = v, a['indirizzo_agenzia']); + setVal((v) => GlobalData.statoAgenziaA = v, (v) => GlobalData.statoAgenziaB = v, a['stato_agenzia']); + setVal((v) => GlobalData.nTelMailAgenziaA = v, (v) => GlobalData.nTelMailAgenziaB = v, a['tel_agenzia']); + setVal((v) => GlobalData.nCartaVerdeA = v, (v) => GlobalData.nCartaVerdeB = v, a['carta_verde']); + setVal((v) => GlobalData.dataInizioDalA = v, (v) => GlobalData.dataInizioDalB = v, a['validita_dal']); + setVal((v) => GlobalData.dataScadenzaAlA = v, (v) => GlobalData.dataScadenzaAlB = v, a['validita_al']); + setBool((v) => GlobalData.flagDanniMatAssicuratiA = v, (v) => GlobalData.flagDanniMatAssicuratiB = v, a['flag_danni']); } if (data['conducente'] != null) { var c = data['conducente']; - setVal((v) => GlobalData.Cognome_cond_A = v, (v) => GlobalData.Cognome_cond_B = v, c['cognome']); - setVal((v) => GlobalData.Nome_cond_A = v, (v) => GlobalData.Nome_cond_B = v, c['nome']); - setVal((v) => GlobalData.Data_nascita_cond_A = v, (v) => GlobalData.Data_nascita_cond_B = v, c['nascita']); - setVal((v) => GlobalData.Cod_fiscale_cond_A = v, (v) => GlobalData.Cod_fiscale_cond_B = v, c['cf']); - setVal((v) => GlobalData.Indirizzo_cond_A = v, (v) => GlobalData.Indirizzo_cond_B = v, c['indirizzo']); - setVal((v) => GlobalData.Stato_cond_A = v, (v) => GlobalData.Stato_cond_B = v, c['stato']); - setVal((v) => GlobalData.N_tel_mail_cond_A = v, (v) => GlobalData.N_tel_mail_cond_B = v, c['tel']); - setVal((v) => GlobalData.N_Patente_cond_A = v, (v) => GlobalData.N_Patente_cond_B = v, c['patente']); - setVal((v) => GlobalData.Categoria_cond_A = v, (v) => GlobalData.Categoria_cond_B = v, c['cat_patente']); - setVal((v) => GlobalData.Scadenza_cond_A = v, (v) => GlobalData.Scadenza_cond_B = v, c['scad_patente']); + setVal((v) => GlobalData.cognomeCondA = v, (v) => GlobalData.cognomeCondB = v, c['cognome']); + setVal((v) => GlobalData.nomeCondA = v, (v) => GlobalData.nomeCondB = v, c['nome']); + setVal((v) => GlobalData.dataNascitaCondA = v, (v) => GlobalData.dataNascitaCondB = v, c['nascita']); + setVal((v) => GlobalData.codFiscaleCondA = v, (v) => GlobalData.codFiscaleCondB = v, c['cf']); + setVal((v) => GlobalData.indirizzoCondA = v, (v) => GlobalData.indirizzoCondB = v, c['indirizzo']); + setVal((v) => GlobalData.statoCondA = v, (v) => GlobalData.statoCondB = v, c['stato']); + setVal((v) => GlobalData.nTelMailCondA = v, (v) => GlobalData.nTelMailCondB = v, c['tel']); + setVal((v) => GlobalData.emailCondA = v, (v) => GlobalData.emailCondB = v, c['email']); + setVal((v) => GlobalData.nPatenteCondA = v, (v) => GlobalData.nPatenteCondB = v, c['patente']); + setVal((v) => GlobalData.categoriaCondA = v, (v) => GlobalData.categoriaCondB = v, c['cat_patente']); + setVal((v) => GlobalData.scadenzaCondA = v, (v) => GlobalData.scadenzaCondB = v, c['scad_patente']); } if (data['danni_osservazioni'] != null) { var d = data['danni_osservazioni']; - setVal((v) => GlobalData.danni_visibili_A = v, (v) => GlobalData.danni_visibili_B = v, d['visibili']); - setVal((v) => GlobalData.osservazioni_A = v, (v) => GlobalData.osservazioni_B = v, d['osservazioni']); + setVal((v) => GlobalData.danniVisibiliA = v, (v) => GlobalData.danniVisibiliB = v, d['visibili']); + setVal((v) => GlobalData.osservazioniA = v, (v) => GlobalData.osservazioniB = v, d['osservazioni']); } } diff --git a/lib/comp_1-5.dart b/lib/comp_1-5.dart index 1c15d4f..54219e4 100644 --- a/lib/comp_1-5.dart +++ b/lib/comp_1-5.dart @@ -65,7 +65,7 @@ class _Comp1_5ScreenState extends State { } void _initControllers() { - _data = TextEditingController(text: GlobalData.data_incidente); + _data = TextEditingController(text: GlobalData.dataIncidente); if (_data.text.isEmpty) { _data.text = DateFormat('dd/MM/yyyy').format(DateTime.now()); } @@ -79,8 +79,8 @@ class _Comp1_5ScreenState extends State { _testimoni = TextEditingController(text: GlobalData.testimoni); _feriti = GlobalData.feriti; - _danniVeicoli = GlobalData.Veicoli_danni_materiali_oltre; - _danniCose = GlobalData.Oggetti_diversi_danni_materiali; + _danniVeicoli = GlobalData.veicoliDanniMaterialiOltre; + _danniCose = GlobalData.oggettiDiversiDanniMateriali; } // --- POPUP INFORMATIVO --- @@ -276,12 +276,12 @@ class _Comp1_5ScreenState extends State { return; } - GlobalData.data_incidente = _data.text; + GlobalData.dataIncidente = _data.text; GlobalData.ora = _ora.text; GlobalData.luogo = _luogo.text.toUpperCase(); GlobalData.feriti = _feriti; - GlobalData.Veicoli_danni_materiali_oltre = _danniVeicoli; - GlobalData.Oggetti_diversi_danni_materiali = _danniCose; + GlobalData.veicoliDanniMaterialiOltre = _danniVeicoli; + GlobalData.oggettiDiversiDanniMateriali = _danniCose; GlobalData.testimoni = _testimoni.text.toUpperCase(); Navigator.push(context, MaterialPageRoute(builder: (context) => const Comp6_7Screen())); diff --git a/lib/comp_10.dart b/lib/comp_10.dart index d7979e2..dffba32 100644 --- a/lib/comp_10.dart +++ b/lib/comp_10.dart @@ -28,8 +28,8 @@ class _Comp10ScreenState extends State { ? Set.from(GlobalData.puntiUrtoB_List) : Set.from(GlobalData.puntiUrtoA_List); - _controllerDanni = TextEditingController(text: isB ? GlobalData.danni_visibili_B : GlobalData.danni_visibili_A); - _controllerOsservazioni = TextEditingController(text: isB ? GlobalData.osservazioni_B : GlobalData.osservazioni_A); + _controllerDanni = TextEditingController(text: isB ? GlobalData.danniVisibiliB : GlobalData.danniVisibiliA); + _controllerOsservazioni = TextEditingController(text: isB ? GlobalData.osservazioniB : GlobalData.osservazioniA); _hitboxes = isB ? _getHitboxesB() : _getHitboxesA(); // MOSTRA IL POPUP INFORMATIVO ANIMATO AL CARICAMENTO @@ -210,12 +210,12 @@ class _Comp10ScreenState extends State { setState(() { if (isB) { GlobalData.puntiUrtoB_List = _selectedSectors.toList(); - GlobalData.danni_visibili_B = _controllerDanni.text.toUpperCase(); - GlobalData.osservazioni_B = _controllerOsservazioni.text.toUpperCase(); + GlobalData.danniVisibiliB = _controllerDanni.text.toUpperCase(); + GlobalData.osservazioniB = _controllerOsservazioni.text.toUpperCase(); } else { GlobalData.puntiUrtoA_List = _selectedSectors.toList(); - GlobalData.danni_visibili_A = _controllerDanni.text.toUpperCase(); - GlobalData.osservazioni_A = _controllerOsservazioni.text.toUpperCase(); + GlobalData.danniVisibiliA = _controllerDanni.text.toUpperCase(); + GlobalData.osservazioniA = _controllerOsservazioni.text.toUpperCase(); } }); Navigator.push(context, MaterialPageRoute(builder: (c) => const Comp12Screen())); diff --git a/lib/comp_16.dart b/lib/comp_16.dart index a31e9bc..7585aa4 100644 --- a/lib/comp_16.dart +++ b/lib/comp_16.dart @@ -147,9 +147,9 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver void _verificaStatoPostScambio() { bool datiOk = false; if (GlobalData.latoCorrente == 'A') { - datiOk = GlobalData.Cognome_contraente_B.trim().isNotEmpty && GlobalData.Targa_B.trim().isNotEmpty; + datiOk = GlobalData.cognomeContraenteB.trim().isNotEmpty && GlobalData.targaB.trim().isNotEmpty; } else { - datiOk = GlobalData.Cognome_contraente_A.trim().isNotEmpty && GlobalData.Targa_A.trim().isNotEmpty; + datiOk = GlobalData.cognomeContraenteA.trim().isNotEmpty && GlobalData.targaA.trim().isNotEmpty; } if (mounted) { @@ -301,8 +301,8 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver bool isA = GlobalData.latoCorrente == 'A'; // Telefoni dei due conducenti - String telA = GlobalData.N_tel_mail_cond_A.isNotEmpty ? GlobalData.N_tel_mail_cond_A : GlobalData.N_telefono_mail_contraente_A; - String telB = GlobalData.N_tel_mail_cond_B.isNotEmpty ? GlobalData.N_tel_mail_cond_B : GlobalData.N_telefono_mail_contraente_B; + String telA = GlobalData.nTelMailCondA.isNotEmpty ? GlobalData.nTelMailCondA : GlobalData.nTelefonoMailContraenteA; + String telB = GlobalData.nTelMailCondB.isNotEmpty ? GlobalData.nTelMailCondB : GlobalData.nTelefonoMailContraenteB; Future eseguiVerifica(String tel, String nome, Function(String, String) onSuccess) async { if (tel.isEmpty) return true; // Se non c'è numero (improbabile), skippa @@ -328,8 +328,8 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver // Flusso OTP per A if (telA.isNotEmpty) { - String nomeA = "${GlobalData.Nome_cond_A} ${GlobalData.Cognome_cond_A}".trim(); - if (nomeA.isEmpty) nomeA = "${GlobalData.Nome_contraente_A} ${GlobalData.Cognome_contraente_A}".trim(); + String nomeA = "${GlobalData.nomeCondA} ${GlobalData.cognomeCondA}".trim(); + if (nomeA.isEmpty) nomeA = "${GlobalData.nomeContraenteA} ${GlobalData.cognomeContraenteA}".trim(); bool okA = await eseguiVerifica(telA, "Conducente A: $nomeA", (dataOra, id) { GlobalData.feaVerifiedA = true; GlobalData.otpDataOraA = dataOra; GlobalData.otpIdA = id; }); @@ -338,8 +338,8 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver // Flusso OTP per B if (telB.isNotEmpty) { - String nomeB = "${GlobalData.Nome_cond_B} ${GlobalData.Cognome_cond_B}".trim(); - if (nomeB.isEmpty) nomeB = "${GlobalData.Nome_contraente_B} ${GlobalData.Cognome_contraente_B}".trim(); + String nomeB = "${GlobalData.nomeCondB} ${GlobalData.cognomeCondB}".trim(); + if (nomeB.isEmpty) nomeB = "${GlobalData.nomeContraenteB} ${GlobalData.cognomeContraenteB}".trim(); bool okB = await eseguiVerifica(telB, "Conducente B: $nomeB", (dataOra, id) { GlobalData.feaVerifiedB = true; GlobalData.otpDataOraB = dataOra; GlobalData.otpIdB = id; }); @@ -495,12 +495,12 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver try { bool isA = GlobalData.latoCorrente == 'A'; - String polizzaChiScrive = (isA ? GlobalData.Numero_Polizza_A : GlobalData.Numero_Polizza_B).trim(); - String targaChiScrive = (isA ? GlobalData.Targa_A : GlobalData.Targa_B).trim(); - String firmaChiScrive = "${isA ? GlobalData.Nome_contraente_A : GlobalData.Nome_contraente_B} ${isA ? GlobalData.Cognome_contraente_A : GlobalData.Cognome_contraente_B}"; - String contattoChiScrive = (isA ? GlobalData.N_telefono_mail_contraente_A : GlobalData.N_telefono_mail_contraente_B).trim(); + String polizzaChiScrive = (isA ? GlobalData.numeroPolizzaA : GlobalData.numeroPolizzaB).trim(); + String targaChiScrive = (isA ? GlobalData.targaA : GlobalData.targaB).trim(); + String firmaChiScrive = "${isA ? GlobalData.nomeContraenteA : GlobalData.nomeContraenteB} ${isA ? GlobalData.cognomeContraenteA : GlobalData.cognomeContraenteB}"; + String contattoChiScrive = (isA ? GlobalData.nTelefonoMailContraenteA : GlobalData.nTelefonoMailContraenteB).trim(); - String compagniaUtente = (isA ? GlobalData.Denominazione_A : GlobalData.Denominazione_B).trim().toUpperCase(); + String compagniaUtente = (isA ? GlobalData.denominazioneA : GlobalData.denominazioneB).trim().toUpperCase(); String emailDestinatario = ""; if (GlobalData.assicurazioni.containsKey(compagniaUtente)) { @@ -519,7 +519,7 @@ class _Comp16ScreenState extends State with WidgetsBindingObserver String oggetto = "DENUNCIA SINISTRO - Polizza n. $polizzaChiScrive - Targa $targaChiScrive"; String corpo = "Spett.le Compagnia,\n\n" - "Con la presente inoltro in allegato il modulo CAI relativo al sinistro avvenuto in data ${GlobalData.data_incidente} alle ore ${GlobalData.ora} nel comune di ${GlobalData.luogo}.\n\n" + "Con la presente inoltro in allegato il modulo CAI relativo al sinistro avvenuto in data ${GlobalData.dataIncidente} alle ore ${GlobalData.ora} nel comune di ${GlobalData.luogo}.\n\n" "Rimaniamo in attesa dell'apertura del fascicolo.\n\n" "Cordiali saluti,\n$firmaChiScrive\nContatto: $contattoChiScrive"; diff --git a/lib/comp_6-7.dart b/lib/comp_6-7.dart index 6d232f2..b73fbbc 100644 --- a/lib/comp_6-7.dart +++ b/lib/comp_6-7.dart @@ -120,37 +120,37 @@ class _Comp6_7ScreenState extends State { } if (isB) { - _cognome = TextEditingController(text: GlobalData.Cognome_contraente_B); - _nome = TextEditingController(text: GlobalData.Nome_contraente_B); - _cf = TextEditingController(text: GlobalData.Codice_Fiscale_contraente_B); - _indirizzo = TextEditingController(text: GlobalData.Indirizzo_contraente_B); - _cap = TextEditingController(text: GlobalData.CAP_contraente_B); - _stato = TextEditingController(text: GlobalData.Stato_contraente_B.isEmpty ? "ITALIA" : GlobalData.Stato_contraente_B); - _tel = TextEditingController(text: GlobalData.N_telefono_mail_contraente_B); - _email = TextEditingController(text: GlobalData.Email_contraente_B); + _cognome = TextEditingController(text: GlobalData.cognomeContraenteB); + _nome = TextEditingController(text: GlobalData.nomeContraenteB); + _cf = TextEditingController(text: GlobalData.codiceFiscaleContraenteB); + _indirizzo = TextEditingController(text: GlobalData.indirizzoContraenteB); + _cap = TextEditingController(text: GlobalData.capContraenteB); + _stato = TextEditingController(text: GlobalData.statoContraenteB.isEmpty ? "ITALIA" : GlobalData.statoContraenteB); + _tel = TextEditingController(text: GlobalData.nTelefonoMailContraenteB); + _email = TextEditingController(text: GlobalData.emailContraenteB); - _marca = TextEditingController(text: GlobalData.Marca_e_Tipo_B); - _targa = TextEditingController(text: GlobalData.Targa_B); - _statoImm = TextEditingController(text: GlobalData.Stato_immatricolazione_B.isEmpty ? "ITALIA" : GlobalData.Stato_immatricolazione_B); + _marca = TextEditingController(text: GlobalData.marcaETipoB); + _targa = TextEditingController(text: GlobalData.targaB); + _statoImm = TextEditingController(text: GlobalData.statoImmatricolazioneB.isEmpty ? "ITALIA" : GlobalData.statoImmatricolazioneB); - _rimorchio = TextEditingController(text: pulisciBarre(GlobalData.Rimorchio_B, "/")); - _statoImm2 = TextEditingController(text: pulisciBarre(GlobalData.Stato_immatricolazione2_B, "/")); + _rimorchio = TextEditingController(text: pulisciBarre(GlobalData.rimorchioB, "/")); + _statoImm2 = TextEditingController(text: pulisciBarre(GlobalData.statoImmatricolazione2B, "/")); } else { - _cognome = TextEditingController(text: GlobalData.Cognome_contraente_A); - _nome = TextEditingController(text: GlobalData.Nome_contraente_A); - _cf = TextEditingController(text: GlobalData.Codice_Fiscale_contraente_A); - _indirizzo = TextEditingController(text: GlobalData.Indirizzo_contraente_A); - _cap = TextEditingController(text: GlobalData.CAP_contraente_A); - _stato = TextEditingController(text: GlobalData.Stato_contraente_A.isEmpty ? "ITALIA" : GlobalData.Stato_contraente_A); - _tel = TextEditingController(text: GlobalData.N_telefono_mail_contraente_A); - _email = TextEditingController(text: GlobalData.Email_contraente_A); + _cognome = TextEditingController(text: GlobalData.cognomeContraenteA); + _nome = TextEditingController(text: GlobalData.nomeContraenteA); + _cf = TextEditingController(text: GlobalData.codiceFiscaleContraenteA); + _indirizzo = TextEditingController(text: GlobalData.indirizzoContraenteA); + _cap = TextEditingController(text: GlobalData.capContraenteA); + _stato = TextEditingController(text: GlobalData.statoContraenteA.isEmpty ? "ITALIA" : GlobalData.statoContraenteA); + _tel = TextEditingController(text: GlobalData.nTelefonoMailContraenteA); + _email = TextEditingController(text: GlobalData.emailContraenteA); - _marca = TextEditingController(text: GlobalData.Marca_e_Tipo_A); - _targa = TextEditingController(text: GlobalData.Targa_A); - _statoImm = TextEditingController(text: GlobalData.Stato_immatricolazione_A.isEmpty ? "ITALIA" : GlobalData.Stato_immatricolazione_A); + _marca = TextEditingController(text: GlobalData.marcaETipoA); + _targa = TextEditingController(text: GlobalData.targaA); + _statoImm = TextEditingController(text: GlobalData.statoImmatricolazioneA.isEmpty ? "ITALIA" : GlobalData.statoImmatricolazioneA); - _rimorchio = TextEditingController(text: pulisciBarre(GlobalData.Rimorchio_A, "/")); - _statoImm2 = TextEditingController(text: pulisciBarre(GlobalData.Stato_immatricolazione2_A, "/")); + _rimorchio = TextEditingController(text: pulisciBarre(GlobalData.rimorchioA, "/")); + _statoImm2 = TextEditingController(text: pulisciBarre(GlobalData.statoImmatricolazione2A, "/")); } } @@ -413,33 +413,33 @@ class _Comp6_7ScreenState extends State { } if (currentIsB) { - GlobalData.Cognome_contraente_B = _cognome.text.trim().toUpperCase(); - GlobalData.Nome_contraente_B = _nome.text.trim().toUpperCase(); - GlobalData.Codice_Fiscale_contraente_B = cfInserito; - GlobalData.Indirizzo_contraente_B = _indirizzo.text.trim().toUpperCase(); - GlobalData.CAP_contraente_B = _cap.text.trim(); - GlobalData.Stato_contraente_B = _stato.text.trim().toUpperCase(); - GlobalData.N_telefono_mail_contraente_B = telefono; - GlobalData.Email_contraente_B = email.toLowerCase(); - GlobalData.Marca_e_Tipo_B = _marca.text.trim().toUpperCase(); - GlobalData.Targa_B = _targa.text.trim().toUpperCase(); - GlobalData.Stato_immatricolazione_B = _statoImm.text.trim().toUpperCase(); - GlobalData.Rimorchio_B = rimorchioFinale; - GlobalData.Stato_immatricolazione2_B = statoImm2Finale; + GlobalData.cognomeContraenteB = _cognome.text.trim().toUpperCase(); + GlobalData.nomeContraenteB = _nome.text.trim().toUpperCase(); + GlobalData.codiceFiscaleContraenteB = cfInserito; + GlobalData.indirizzoContraenteB = _indirizzo.text.trim().toUpperCase(); + GlobalData.capContraenteB = _cap.text.trim(); + GlobalData.statoContraenteB = _stato.text.trim().toUpperCase(); + GlobalData.nTelefonoMailContraenteB = telefono; + GlobalData.emailContraenteB = email.toLowerCase(); + GlobalData.marcaETipoB = _marca.text.trim().toUpperCase(); + GlobalData.targaB = _targa.text.trim().toUpperCase(); + GlobalData.statoImmatricolazioneB = _statoImm.text.trim().toUpperCase(); + GlobalData.rimorchioB = rimorchioFinale; + GlobalData.statoImmatricolazione2B = statoImm2Finale; } else { - GlobalData.Cognome_contraente_A = _cognome.text.trim().toUpperCase(); - GlobalData.Nome_contraente_A = _nome.text.trim().toUpperCase(); - GlobalData.Codice_Fiscale_contraente_A = cfInserito; - GlobalData.Indirizzo_contraente_A = _indirizzo.text.trim().toUpperCase(); - GlobalData.CAP_contraente_A = _cap.text.trim(); - GlobalData.Stato_contraente_A = _stato.text.trim().toUpperCase(); - GlobalData.N_telefono_mail_contraente_A = telefono; - GlobalData.Email_contraente_A = email.toLowerCase(); - GlobalData.Marca_e_Tipo_A = _marca.text.trim().toUpperCase(); - GlobalData.Targa_A = _targa.text.trim().toUpperCase(); - GlobalData.Stato_immatricolazione_A = _statoImm.text.trim().toUpperCase(); - GlobalData.Rimorchio_A = rimorchioFinale; - GlobalData.Stato_immatricolazione2_A = statoImm2Finale; + GlobalData.cognomeContraenteA = _cognome.text.trim().toUpperCase(); + GlobalData.nomeContraenteA = _nome.text.trim().toUpperCase(); + GlobalData.codiceFiscaleContraenteA = cfInserito; + GlobalData.indirizzoContraenteA = _indirizzo.text.trim().toUpperCase(); + GlobalData.capContraenteA = _cap.text.trim(); + GlobalData.statoContraenteA = _stato.text.trim().toUpperCase(); + GlobalData.nTelefonoMailContraenteA = telefono; + GlobalData.emailContraenteA = email.toLowerCase(); + GlobalData.marcaETipoA = _marca.text.trim().toUpperCase(); + GlobalData.targaA = _targa.text.trim().toUpperCase(); + GlobalData.statoImmatricolazioneA = _statoImm.text.trim().toUpperCase(); + GlobalData.rimorchioA = rimorchioFinale; + GlobalData.statoImmatricolazione2A = statoImm2Finale; } // <-- SALVATAGGIO DEI DATI NELLA TASTIERA DI SISTEMA (Per l'Autofill) --> diff --git a/lib/comp_8.dart b/lib/comp_8.dart index 814339b..b6be2d1 100644 --- a/lib/comp_8.dart +++ b/lib/comp_8.dart @@ -51,17 +51,17 @@ class _Comp8ScreenState extends State { } void _initControllers() { - String denominazioneSalvata = isB ? GlobalData.Denominazione_B : GlobalData.Denominazione_A; - _polizza = TextEditingController(text: isB ? GlobalData.Numero_Polizza_B : GlobalData.Numero_Polizza_A); - _cartaVerde = TextEditingController(text: isB ? GlobalData.N_carta_verde_B : GlobalData.N_carta_verde_A); - _validoDal = TextEditingController(text: isB ? GlobalData.Data_Inizio_Dal_B : GlobalData.Data_Inizio_Dal_A); - _validoAl = TextEditingController(text: isB ? GlobalData.Data_Scadenza_Al_B : GlobalData.Data_Scadenza_Al_A); - _agenzia = TextEditingController(text: isB ? GlobalData.Agenzia_B : GlobalData.Agenzia_A); - _denomAgenzia = TextEditingController(text: isB ? GlobalData.Denominazione_agenzia_B : GlobalData.Denominazione_agenzia_A); - _indirizzoAgenzia = TextEditingController(text: isB ? GlobalData.Indirizzo_agenzia_B : GlobalData.Indirizzo_agenzia_A); - _statoAgenzia = TextEditingController(text: (isB ? GlobalData.Stato_agenzia_B : GlobalData.Stato_agenzia_A).isEmpty ? "ITALIA" : (isB ? GlobalData.Stato_agenzia_B : GlobalData.Stato_agenzia_A)); - _telAgenzia = TextEditingController(text: isB ? GlobalData.N_tel_mail_agenzia_B : GlobalData.N_tel_mail_agenzia_A); - _danniMaterialiAssicurati = isB ? GlobalData.FLAG_danni_mat_assicurati_B : GlobalData.FLAG_danni_mat_assicurati_A; + String denominazioneSalvata = isB ? GlobalData.denominazioneB : GlobalData.denominazioneA; + _polizza = TextEditingController(text: isB ? GlobalData.numeroPolizzaB : GlobalData.numeroPolizzaA); + _cartaVerde = TextEditingController(text: isB ? GlobalData.nCartaVerdeB : GlobalData.nCartaVerdeA); + _validoDal = TextEditingController(text: isB ? GlobalData.dataInizioDalB : GlobalData.dataInizioDalA); + _validoAl = TextEditingController(text: isB ? GlobalData.dataScadenzaAlB : GlobalData.dataScadenzaAlA); + _agenzia = TextEditingController(text: isB ? GlobalData.agenziaB : GlobalData.agenziaA); + _denomAgenzia = TextEditingController(text: isB ? GlobalData.denominazioneAgenziaB : GlobalData.denominazioneAgenziaA); + _indirizzoAgenzia = TextEditingController(text: isB ? GlobalData.indirizzoAgenziaB : GlobalData.indirizzoAgenziaA); + _statoAgenzia = TextEditingController(text: (isB ? GlobalData.statoAgenziaB : GlobalData.statoAgenziaA).isEmpty ? "ITALIA" : (isB ? GlobalData.statoAgenziaB : GlobalData.statoAgenziaA)); + _telAgenzia = TextEditingController(text: isB ? GlobalData.nTelMailAgenziaB : GlobalData.nTelMailAgenziaA); + _danniMaterialiAssicurati = isB ? GlobalData.flagDanniMatAssicuratiB : GlobalData.flagDanniMatAssicuratiA; _compagniaManuale = TextEditingController(); if (denominazioneSalvata.isNotEmpty) { @@ -265,29 +265,29 @@ class _Comp8ScreenState extends State { String denomFinale = (_selectedAssicurazione == "ALTRO (Inserimento manuale)") ? _compagniaManuale.text.toUpperCase() : (_selectedAssicurazione ?? ""); if (isB) { - GlobalData.Denominazione_B = denomFinale; - GlobalData.Numero_Polizza_B = _polizza.text.toUpperCase(); - GlobalData.N_carta_verde_B = _cartaVerde.text.toUpperCase(); - GlobalData.Data_Inizio_Dal_B = _validoDal.text; - GlobalData.Data_Scadenza_Al_B = _validoAl.text; - GlobalData.Agenzia_B = _agenzia.text.toUpperCase(); - GlobalData.Denominazione_agenzia_B = _denomAgenzia.text.toUpperCase(); - GlobalData.Indirizzo_agenzia_B = _indirizzoAgenzia.text.toUpperCase(); - GlobalData.Stato_agenzia_B = _statoAgenzia.text.toUpperCase(); - GlobalData.N_tel_mail_agenzia_B = _telAgenzia.text.toUpperCase(); - GlobalData.FLAG_danni_mat_assicurati_B = _danniMaterialiAssicurati; + GlobalData.denominazioneB = denomFinale; + GlobalData.numeroPolizzaB = _polizza.text.toUpperCase(); + GlobalData.nCartaVerdeB = _cartaVerde.text.toUpperCase(); + GlobalData.dataInizioDalB = _validoDal.text; + GlobalData.dataScadenzaAlB = _validoAl.text; + GlobalData.agenziaB = _agenzia.text.toUpperCase(); + GlobalData.denominazioneAgenziaB = _denomAgenzia.text.toUpperCase(); + GlobalData.indirizzoAgenziaB = _indirizzoAgenzia.text.toUpperCase(); + GlobalData.statoAgenziaB = _statoAgenzia.text.toUpperCase(); + GlobalData.nTelMailAgenziaB = _telAgenzia.text.toUpperCase(); + GlobalData.flagDanniMatAssicuratiB = _danniMaterialiAssicurati; } else { - GlobalData.Denominazione_A = denomFinale; - GlobalData.Numero_Polizza_A = _polizza.text.toUpperCase(); - GlobalData.N_carta_verde_A = _cartaVerde.text.toUpperCase(); - GlobalData.Data_Inizio_Dal_A = _validoDal.text; - GlobalData.Data_Scadenza_Al_A = _validoAl.text; - GlobalData.Agenzia_A = _agenzia.text.toUpperCase(); - GlobalData.Denominazione_agenzia_A = _denomAgenzia.text.toUpperCase(); - GlobalData.Indirizzo_agenzia_A = _indirizzoAgenzia.text.toUpperCase(); - GlobalData.Stato_agenzia_A = _statoAgenzia.text.toUpperCase(); - GlobalData.N_tel_mail_agenzia_A = _telAgenzia.text.toUpperCase(); - GlobalData.FLAG_danni_mat_assicurati_A = _danniMaterialiAssicurati; + GlobalData.denominazioneA = denomFinale; + GlobalData.numeroPolizzaA = _polizza.text.toUpperCase(); + GlobalData.nCartaVerdeA = _cartaVerde.text.toUpperCase(); + GlobalData.dataInizioDalA = _validoDal.text; + GlobalData.dataScadenzaAlA = _validoAl.text; + GlobalData.agenziaA = _agenzia.text.toUpperCase(); + GlobalData.denominazioneAgenziaA = _denomAgenzia.text.toUpperCase(); + GlobalData.indirizzoAgenziaA = _indirizzoAgenzia.text.toUpperCase(); + GlobalData.statoAgenziaA = _statoAgenzia.text.toUpperCase(); + GlobalData.nTelMailAgenziaA = _telAgenzia.text.toUpperCase(); + GlobalData.flagDanniMatAssicuratiA = _danniMaterialiAssicurati; } Navigator.push(context, MaterialPageRoute(builder: (c) => const Comp9Screen())); } diff --git a/lib/comp_9.dart b/lib/comp_9.dart index 987c704..a10b0a3 100644 --- a/lib/comp_9.dart +++ b/lib/comp_9.dart @@ -56,29 +56,29 @@ class _Comp9ScreenState extends State { void _initControllers() { if (isB) { - _cognome = TextEditingController(text: GlobalData.Cognome_cond_B); - _nome = TextEditingController(text: GlobalData.Nome_cond_B); - _cf = TextEditingController(text: GlobalData.Cod_fiscale_cond_B); - _nascita = TextEditingController(text: GlobalData.Data_nascita_cond_B); - _indirizzo = TextEditingController(text: GlobalData.Indirizzo_cond_B); - _stato = TextEditingController(text: GlobalData.Stato_cond_B.isEmpty ? "ITALIA" : GlobalData.Stato_cond_B); - _tel = TextEditingController(text: GlobalData.N_tel_mail_cond_B); - _email = TextEditingController(text: GlobalData.Email_cond_B); - _patente = TextEditingController(text: GlobalData.N_Patente_cond_B); - _scadenza = TextEditingController(text: GlobalData.Scadenza_cond_B); - _setupCategoria(GlobalData.Categoria_cond_B); + _cognome = TextEditingController(text: GlobalData.cognomeCondB); + _nome = TextEditingController(text: GlobalData.nomeCondB); + _cf = TextEditingController(text: GlobalData.codFiscaleCondB); + _nascita = TextEditingController(text: GlobalData.dataNascitaCondB); + _indirizzo = TextEditingController(text: GlobalData.indirizzoCondB); + _stato = TextEditingController(text: GlobalData.statoCondB.isEmpty ? "ITALIA" : GlobalData.statoCondB); + _tel = TextEditingController(text: GlobalData.nTelMailCondB); + _email = TextEditingController(text: GlobalData.emailCondB); + _patente = TextEditingController(text: GlobalData.nPatenteCondB); + _scadenza = TextEditingController(text: GlobalData.scadenzaCondB); + _setupCategoria(GlobalData.categoriaCondB); } else { - _cognome = TextEditingController(text: GlobalData.Cognome_cond_A); - _nome = TextEditingController(text: GlobalData.Nome_cond_A); - _cf = TextEditingController(text: GlobalData.Cod_fiscale_cond_A); - _nascita = TextEditingController(text: GlobalData.Data_nascita_cond_A); - _indirizzo = TextEditingController(text: GlobalData.Indirizzo_cond_A); - _stato = TextEditingController(text: GlobalData.Stato_cond_A.isEmpty ? "ITALIA" : GlobalData.Stato_cond_A); - _tel = TextEditingController(text: GlobalData.N_tel_mail_cond_A); - _email = TextEditingController(text: GlobalData.Email_cond_A); - _patente = TextEditingController(text: GlobalData.N_Patente_cond_A); - _scadenza = TextEditingController(text: GlobalData.Scadenza_cond_A); - _setupCategoria(GlobalData.Categoria_cond_A); + _cognome = TextEditingController(text: GlobalData.cognomeCondA); + _nome = TextEditingController(text: GlobalData.nomeCondA); + _cf = TextEditingController(text: GlobalData.codFiscaleCondA); + _nascita = TextEditingController(text: GlobalData.dataNascitaCondA); + _indirizzo = TextEditingController(text: GlobalData.indirizzoCondA); + _stato = TextEditingController(text: GlobalData.statoCondA.isEmpty ? "ITALIA" : GlobalData.statoCondA); + _tel = TextEditingController(text: GlobalData.nTelMailCondA); + _email = TextEditingController(text: GlobalData.emailCondA); + _patente = TextEditingController(text: GlobalData.nPatenteCondA); + _scadenza = TextEditingController(text: GlobalData.scadenzaCondA); + _setupCategoria(GlobalData.categoriaCondA); } } @@ -171,8 +171,8 @@ class _Comp9ScreenState extends State { if (_cognome.text.trim().isNotEmpty && _nome.text.trim().isNotEmpty) return; // 2. Controllo se esistono i dati del contraente da importare - String contraenteNome = isB ? GlobalData.Nome_contraente_B : GlobalData.Nome_contraente_A; - String contraenteCognome = isB ? GlobalData.Cognome_contraente_B : GlobalData.Cognome_contraente_A; + String contraenteNome = isB ? GlobalData.nomeContraenteB : GlobalData.nomeContraenteA; + String contraenteCognome = isB ? GlobalData.cognomeContraenteB : GlobalData.cognomeContraenteA; if (contraenteNome.isEmpty && contraenteCognome.isEmpty) return; @@ -218,29 +218,29 @@ class _Comp9ScreenState extends State { void _importaDati() { setState(() { if (isB) { - _cognome.text = GlobalData.Cognome_contraente_B; - _nome.text = GlobalData.Nome_contraente_B; - _cf.text = GlobalData.Codice_Fiscale_contraente_B; + _cognome.text = GlobalData.cognomeContraenteB; + _nome.text = GlobalData.nomeContraenteB; + _cf.text = GlobalData.codiceFiscaleContraenteB; - String addr = GlobalData.Indirizzo_contraente_B; - if (GlobalData.CAP_contraente_B.isNotEmpty) addr += " ${GlobalData.CAP_contraente_B}"; + String addr = GlobalData.indirizzoContraenteB; + if (GlobalData.capContraenteB.isNotEmpty) addr += " ${GlobalData.capContraenteB}"; _indirizzo.text = addr.trim(); - _stato.text = GlobalData.Stato_contraente_B.isNotEmpty ? GlobalData.Stato_contraente_B : "ITALIA"; - _tel.text = GlobalData.N_telefono_mail_contraente_B; - _email.text = GlobalData.Email_contraente_B; + _stato.text = GlobalData.statoContraenteB.isNotEmpty ? GlobalData.statoContraenteB : "ITALIA"; + _tel.text = GlobalData.nTelefonoMailContraenteB; + _email.text = GlobalData.emailContraenteB; } else { - _cognome.text = GlobalData.Cognome_contraente_A; - _nome.text = GlobalData.Nome_contraente_A; - _cf.text = GlobalData.Codice_Fiscale_contraente_A; + _cognome.text = GlobalData.cognomeContraenteA; + _nome.text = GlobalData.nomeContraenteA; + _cf.text = GlobalData.codiceFiscaleContraenteA; - String addr = GlobalData.Indirizzo_contraente_A; - if (GlobalData.CAP_contraente_A.isNotEmpty) addr += " ${GlobalData.CAP_contraente_A}"; + String addr = GlobalData.indirizzoContraenteA; + if (GlobalData.capContraenteA.isNotEmpty) addr += " ${GlobalData.capContraenteA}"; _indirizzo.text = addr.trim(); - _stato.text = GlobalData.Stato_contraente_A.isNotEmpty ? GlobalData.Stato_contraente_A : "ITALIA"; - _tel.text = GlobalData.N_telefono_mail_contraente_A; - _email.text = GlobalData.Email_contraente_A; + _stato.text = GlobalData.statoContraenteA.isNotEmpty ? GlobalData.statoContraenteA : "ITALIA"; + _tel.text = GlobalData.nTelefonoMailContraenteA; + _email.text = GlobalData.emailContraenteA; } }); } @@ -365,29 +365,29 @@ class _Comp9ScreenState extends State { } if (isB) { - GlobalData.Cognome_cond_B = _cognome.text.toUpperCase(); - GlobalData.Nome_cond_B = _nome.text.toUpperCase(); - GlobalData.Cod_fiscale_cond_B = _cf.text.toUpperCase(); - GlobalData.Data_nascita_cond_B = _nascita.text; - GlobalData.Indirizzo_cond_B = _indirizzo.text.trim().toUpperCase(); - GlobalData.Stato_cond_B = _stato.text.trim().toUpperCase(); - GlobalData.N_tel_mail_cond_B = telefono; - GlobalData.Email_cond_B = email.toLowerCase(); - GlobalData.N_Patente_cond_B = _patente.text.trim().toUpperCase(); - GlobalData.Categoria_cond_B = catFinale; - GlobalData.Scadenza_cond_B = _scadenza.text; + GlobalData.cognomeCondB = _cognome.text.toUpperCase(); + GlobalData.nomeCondB = _nome.text.toUpperCase(); + GlobalData.codFiscaleCondB = _cf.text.toUpperCase(); + GlobalData.dataNascitaCondB = _nascita.text; + GlobalData.indirizzoCondB = _indirizzo.text.trim().toUpperCase(); + GlobalData.statoCondB = _stato.text.trim().toUpperCase(); + GlobalData.nTelMailCondB = telefono; + GlobalData.emailCondB = email.toLowerCase(); + GlobalData.nPatenteCondB = _patente.text.trim().toUpperCase(); + GlobalData.categoriaCondB = catFinale; + GlobalData.scadenzaCondB = _scadenza.text; } else { - GlobalData.Cognome_cond_A = _cognome.text.toUpperCase(); - GlobalData.Nome_cond_A = _nome.text.toUpperCase(); - GlobalData.Cod_fiscale_cond_A = _cf.text.toUpperCase(); - GlobalData.Data_nascita_cond_A = _nascita.text; - GlobalData.Indirizzo_cond_A = _indirizzo.text.trim().toUpperCase(); - GlobalData.Stato_cond_A = _stato.text.trim().toUpperCase(); - GlobalData.N_tel_mail_cond_A = telefono; - GlobalData.Email_cond_A = email.toLowerCase(); - GlobalData.N_Patente_cond_A = _patente.text.trim().toUpperCase(); - GlobalData.Categoria_cond_A = catFinale; - GlobalData.Scadenza_cond_A = _scadenza.text; + GlobalData.cognomeCondA = _cognome.text.toUpperCase(); + GlobalData.nomeCondA = _nome.text.toUpperCase(); + GlobalData.codFiscaleCondA = _cf.text.toUpperCase(); + GlobalData.dataNascitaCondA = _nascita.text; + GlobalData.indirizzoCondA = _indirizzo.text.trim().toUpperCase(); + GlobalData.statoCondA = _stato.text.trim().toUpperCase(); + GlobalData.nTelMailCondA = telefono; + GlobalData.emailCondA = email.toLowerCase(); + GlobalData.nPatenteCondA = _patente.text.trim().toUpperCase(); + GlobalData.categoriaCondA = catFinale; + GlobalData.scadenzaCondA = _scadenza.text; } // Salvataggio silente del profilo utente diff --git a/lib/global_data.dart b/lib/global_data.dart index 28acf01..59deb50 100644 --- a/lib/global_data.dart +++ b/lib/global_data.dart @@ -10,27 +10,27 @@ class GlobalData { static bool isPro = false; // Stato abbonamento RevenueCat // --- DATI GENERALI (NON CANCELLATI DAI RESET PARZIALI) --- - static String data_incidente = ""; + static String dataIncidente = ""; 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; + static bool veicoliDanniMaterialiOltre = false; + static bool oggettiDiversiDanniMateriali = 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 Email_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 Email_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 = []; + 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 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 Email_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 Email_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 = []; + 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; @@ -125,8 +125,8 @@ class GlobalData { // --- RESET TOTALE --- static void reset() { latoCorrente = 'A'; - data_incidente = ""; ora = ""; luogo = ""; testimoni = ""; feriti = false; - Veicoli_danni_materiali_oltre = false; Oggetti_diversi_danni_materiali = false; + dataIncidente = ""; ora = ""; luogo = ""; testimoni = ""; feriti = false; + veicoliDanniMaterialiOltre = false; oggettiDiversiDanniMateriali = false; resetA(); resetB(); elementi = []; tratti = []; @@ -145,20 +145,20 @@ class GlobalData { } 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 = ""; Email_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 = ""; Email_cond_A = ""; N_Patente_cond_A = ""; Scadenza_cond_A = ""; Categoria_cond_A = ""; - puntiUrtoA_List = []; danni_visibili_A = ""; osservazioni_A = ""; circostanzeA = {}; totaleCrocetteA = 0; puntiFirmaA = []; + 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() { - Cognome_contraente_B = ""; Nome_contraente_B = ""; Codice_Fiscale_contraente_B = ""; Indirizzo_contraente_B = ""; CAP_contraente_B = ""; Stato_contraente_B = ""; N_telefono_mail_contraente_B = ""; Email_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 = ""; Email_cond_B = ""; N_Patente_cond_B = ""; Scadenza_cond_B = ""; Categoria_cond_B = ""; - puntiUrtoB_List = []; danni_visibili_B = ""; osservazioni_B = ""; circostanzeB = {}; totaleCrocetteB = 0; puntiFirmaB = []; + 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 = ""; } @@ -167,30 +167,30 @@ class GlobalData { 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; + 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 - 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"; Email_contraente_A = "mario.rossi@email.it"; - 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"; Email_cond_A = "mario.rossi@email.it"; - 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}; + 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 - 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"; Email_contraente_B = "luigi.verdi@email.it"; - 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"; Email_cond_B = "luigi.verdi@email.it"; - 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}; + 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(); } diff --git a/lib/pdf_engine.dart b/lib/pdf_engine.dart index 3612e54..2df0d98 100644 --- a/lib/pdf_engine.dart +++ b/lib/pdf_engine.dart @@ -54,23 +54,23 @@ class PdfEngine { }); // 1.1 GESTIONE SPECIALE DANNI (Split forzato a 20 caratteri) - _riempiCampoSplit(mappaCampi, GlobalData.danni_visibili_A, "DANNI_VIS_A1", "DANNI_VIS_A2"); - _riempiCampoSplit(mappaCampi, GlobalData.danni_visibili_B, "DANNI_VIS_B1", "DANNI_VIS_B2"); + _riempiCampoSplit(mappaCampi, GlobalData.danniVisibiliA, "DANNI_VIS_A1", "DANNI_VIS_A2"); + _riempiCampoSplit(mappaCampi, GlobalData.danniVisibiliB, "DANNI_VIS_B1", "DANNI_VIS_B2"); // 2. CHECKBOX _scriviX(mappaCampi, [GlobalData.feriti ? CaiMapping.feriti_SI : CaiMapping.feriti_NO]); - _scriviX(mappaCampi, [GlobalData.Veicoli_danni_materiali_oltre ? CaiMapping.danni_veicoli_SI : CaiMapping.danni_veicoli_NO]); - _scriviX(mappaCampi, [GlobalData.Oggetti_diversi_danni_materiali ? CaiMapping.danni_oggetti_SI : CaiMapping.danni_oggetti_NO]); - _scriviX(mappaCampi, [GlobalData.FLAG_danni_mat_assicurati_A ? CaiMapping.danni_mat_A_SI : CaiMapping.danni_mat_A_NO]); - _scriviX(mappaCampi, [GlobalData.FLAG_danni_mat_assicurati_B ? CaiMapping.danni_mat_B_SI : CaiMapping.danni_mat_B_NO]); + _scriviX(mappaCampi, [GlobalData.veicoliDanniMaterialiOltre ? CaiMapping.danni_veicoli_SI : CaiMapping.danni_veicoli_NO]); + _scriviX(mappaCampi, [GlobalData.oggettiDiversiDanniMateriali ? CaiMapping.danni_oggetti_SI : CaiMapping.danni_oggetti_NO]); + _scriviX(mappaCampi, [GlobalData.flagDanniMatAssicuratiA ? CaiMapping.danni_mat_A_SI : CaiMapping.danni_mat_A_NO]); + _scriviX(mappaCampi, [GlobalData.flagDanniMatAssicuratiB ? CaiMapping.danni_mat_B_SI : CaiMapping.danni_mat_B_NO]); - String catA = GlobalData.Categoria_cond_A.toUpperCase().trim(); + String catA = GlobalData.categoriaCondA.toUpperCase().trim(); if (catA == 'A') _scriviX(mappaCampi, ['cat_a_A']); else if (catA == 'B') _scriviX(mappaCampi, ['cat_b_A']); else if (catA.isNotEmpty) _scriviTesto(mappaCampi, ['cat_altro_A'], catA); - String catB = GlobalData.Categoria_cond_B.toUpperCase().trim(); + String catB = GlobalData.categoriaCondB.toUpperCase().trim(); if (catB == 'A') _scriviX(mappaCampi, ['cat_a_B']); else if (catB == 'B') _scriviX(mappaCampi, ['cat_b_B']); else if (catB.isNotEmpty) _scriviTesto(mappaCampi, ['cat_altro_B'], catB); @@ -196,10 +196,10 @@ class PdfEngine { page.graphics.drawString("VEICOLO A (Blu)", boldFont, bounds: Rect.fromLTWH(0, currentY, colWidth, 20), brush: PdfSolidBrush(PdfColor(0, 0, 200))); currentY += 25; - String nomeA = "${GlobalData.Nome_cond_A} ${GlobalData.Cognome_cond_A}".trim(); - if (nomeA.isEmpty) nomeA = "${GlobalData.Nome_contraente_A} ${GlobalData.Cognome_contraente_A}".trim(); - String cfA = GlobalData.Cod_fiscale_cond_A.isNotEmpty ? GlobalData.Cod_fiscale_cond_A : GlobalData.Codice_Fiscale_contraente_A; - String telA = GlobalData.N_tel_mail_cond_A.isNotEmpty ? GlobalData.N_tel_mail_cond_A : GlobalData.N_telefono_mail_contraente_A; + String nomeA = "${GlobalData.nomeCondA} ${GlobalData.cognomeCondA}".trim(); + if (nomeA.isEmpty) nomeA = "${GlobalData.nomeContraenteA} ${GlobalData.cognomeContraenteA}".trim(); + String cfA = GlobalData.codFiscaleCondA.isNotEmpty ? GlobalData.codFiscaleCondA : GlobalData.codiceFiscaleContraenteA; + String telA = GlobalData.nTelMailCondA.isNotEmpty ? GlobalData.nTelMailCondA : GlobalData.nTelefonoMailContraenteA; page.graphics.drawString("Conducente: $nomeA", regularFont, bounds: Rect.fromLTWH(0, currentY, colWidth, 20)); currentY += 20; @@ -235,10 +235,10 @@ class PdfEngine { page.graphics.drawString("VEICOLO B (Giallo)", boldFont, bounds: Rect.fromLTWH(startXB, currentY, colWidth, 20), brush: PdfSolidBrush(PdfColor(200, 150, 0))); currentY += 25; - String nomeB = "${GlobalData.Nome_cond_B} ${GlobalData.Cognome_cond_B}".trim(); - if (nomeB.isEmpty) nomeB = "${GlobalData.Nome_contraente_B} ${GlobalData.Cognome_contraente_B}".trim(); - String cfB = GlobalData.Cod_fiscale_cond_B.isNotEmpty ? GlobalData.Cod_fiscale_cond_B : GlobalData.Codice_Fiscale_contraente_B; - String telB = GlobalData.N_tel_mail_cond_B.isNotEmpty ? GlobalData.N_tel_mail_cond_B : GlobalData.N_telefono_mail_contraente_B; + String nomeB = "${GlobalData.nomeCondB} ${GlobalData.cognomeCondB}".trim(); + if (nomeB.isEmpty) nomeB = "${GlobalData.nomeContraenteB} ${GlobalData.cognomeContraenteB}".trim(); + String cfB = GlobalData.codFiscaleCondB.isNotEmpty ? GlobalData.codFiscaleCondB : GlobalData.codiceFiscaleContraenteB; + String telB = GlobalData.nTelMailCondB.isNotEmpty ? GlobalData.nTelMailCondB : GlobalData.nTelefonoMailContraenteB; page.graphics.drawString("Conducente: $nomeB", regularFont, bounds: Rect.fromLTWH(startXB, currentY, colWidth, 20)); currentY += 20; @@ -434,88 +434,88 @@ class PdfEngine { static String _valoreDaGlobal(String key) { switch (key) { - case 'data_incidente': return GlobalData.data_incidente; + case 'dataIncidente': return GlobalData.dataIncidente; case 'ora': return GlobalData.ora; case 'luogo': return GlobalData.luogo; case 'testimoni': return GlobalData.testimoni; - case 'danni_visibili_A': return GlobalData.danni_visibili_A; - case 'osservazioni_A': return GlobalData.osservazioni_A; - case 'danni_visibili_B': return GlobalData.danni_visibili_B; - case 'osservazioni_B': return GlobalData.osservazioni_B; - case 'Cognome_contraente_A': return GlobalData.Cognome_contraente_A; - case 'Nome_contraente_A': return GlobalData.Nome_contraente_A; - case 'Codice_Fiscale_contraente_A': return GlobalData.Codice_Fiscale_contraente_A; - case 'Indirizzo_contraente_A': return GlobalData.Indirizzo_contraente_A; - case 'CAP_contraente_A': return GlobalData.CAP_contraente_A; - case 'Stato_contraente_A': return GlobalData.Stato_contraente_A; - case 'N_telefono_mail_contraente_A': - return GlobalData.Email_contraente_A.isNotEmpty - ? "${GlobalData.N_telefono_mail_contraente_A} - ${GlobalData.Email_contraente_A}" - : GlobalData.N_telefono_mail_contraente_A; - case 'Marca_e_Tipo_A': return GlobalData.Marca_e_Tipo_A; - case 'Targa_A': return GlobalData.Targa_A; - case 'Stato_immatricolazione_A': return GlobalData.Stato_immatricolazione_A; - case 'Rimorchio_A': return GlobalData.Rimorchio_A; - case 'Stato_immatricolazione2_A': return GlobalData.Stato_immatricolazione2_A; - case 'Denominazione_A': return GlobalData.Denominazione_A; - case 'Numero_Polizza_A': return GlobalData.Numero_Polizza_A; - case 'N_carta_verde_A': return GlobalData.N_carta_verde_A; - case 'Data_Inizio_Dal_A': return GlobalData.Data_Inizio_Dal_A; - case 'Data_Scadenza_Al_A': return GlobalData.Data_Scadenza_Al_A; - case 'Agenzia_A': return GlobalData.Agenzia_A; - case 'Indirizzo_agenzia_A': return GlobalData.Indirizzo_agenzia_A; - case 'Stato_agenzia_A': return GlobalData.Stato_agenzia_A; - case 'Denominazione_agenzia_A': return GlobalData.Denominazione_agenzia_A; - case 'N_tel_mail_agenzia_A': return GlobalData.N_tel_mail_agenzia_A; - case 'Cognome_cond_A': return GlobalData.Cognome_cond_A; - case 'Nome_cond_A': return GlobalData.Nome_cond_A; - case 'Data_nascita_cond_A': return GlobalData.Data_nascita_cond_A; - case 'Cod_fiscale_cond_A': return GlobalData.Cod_fiscale_cond_A; - case 'Indirizzo_cond_A': return GlobalData.Indirizzo_cond_A; - case 'Stato_cond_A': return GlobalData.Stato_cond_A; - case 'N_tel_mail_cond_A': - return GlobalData.Email_cond_A.isNotEmpty - ? "${GlobalData.N_tel_mail_cond_A} - ${GlobalData.Email_cond_A}" - : GlobalData.N_tel_mail_cond_A; - case 'N_Patente_cond_A': return GlobalData.N_Patente_cond_A; - case 'Scadenza_cond_A': return GlobalData.Scadenza_cond_A; - case 'Cognome_contraente_B': return GlobalData.Cognome_contraente_B; - case 'Nome_contraente_B': return GlobalData.Nome_contraente_B; - case 'Codice_Fiscale_contraente_B': return GlobalData.Codice_Fiscale_contraente_B; - case 'Indirizzo_contraente_B': return GlobalData.Indirizzo_contraente_B; - case 'CAP_contraente_B': return GlobalData.CAP_contraente_B; - case 'Stato_contraente_B': return GlobalData.Stato_contraente_B; - case 'N_telefono_mail_contraente_B': - return GlobalData.Email_contraente_B.isNotEmpty - ? "${GlobalData.N_telefono_mail_contraente_B} - ${GlobalData.Email_contraente_B}" - : GlobalData.N_telefono_mail_contraente_B; - case 'Marca_e_Tipo_B': return GlobalData.Marca_e_Tipo_B; - case 'Targa_B': return GlobalData.Targa_B; - case 'Stato_immatricolazione_B': return GlobalData.Stato_immatricolazione_B; - case 'Rimorchio_B': return GlobalData.Rimorchio_B; - case 'Stato_immatricolazione2_B': return GlobalData.Stato_immatricolazione2_B; - case 'Denominazione_B': return GlobalData.Denominazione_B; - case 'Numero_Polizza_B': return GlobalData.Numero_Polizza_B; - case 'N_carta_verde_B': return GlobalData.N_carta_verde_B; - case 'Data_Inizio_Dal_B': return GlobalData.Data_Inizio_Dal_B; - case 'Data_Scadenza_Al_B': return GlobalData.Data_Scadenza_Al_B; - case 'Agenzia_B': return GlobalData.Agenzia_B; - case 'Indirizzo_agenzia_B': return GlobalData.Indirizzo_agenzia_B; - case 'Stato_agenzia_B': return GlobalData.Stato_agenzia_B; - case 'Denominazione_agenzia_B': return GlobalData.Denominazione_agenzia_B; - case 'N_tel_mail_agenzia_B': return GlobalData.N_tel_mail_agenzia_B; - case 'Cognome_cond_B': return GlobalData.Cognome_cond_B; - case 'Nome_cond_B': return GlobalData.Nome_cond_B; - case 'Data_nascita_cond_B': return GlobalData.Data_nascita_cond_B; - case 'Cod_fiscale_cond_B': return GlobalData.Cod_fiscale_cond_B; - case 'Indirizzo_cond_B': return GlobalData.Indirizzo_cond_B; - case 'Stato_cond_B': return GlobalData.Stato_cond_B; - case 'N_tel_mail_cond_B': - return GlobalData.Email_cond_B.isNotEmpty - ? "${GlobalData.N_tel_mail_cond_B} - ${GlobalData.Email_cond_B}" - : GlobalData.N_tel_mail_cond_B; - case 'N_Patente_cond_B': return GlobalData.N_Patente_cond_B; - case 'Scadenza_cond_B': return GlobalData.Scadenza_cond_B; + case 'danniVisibiliA': return GlobalData.danniVisibiliA; + case 'osservazioniA': return GlobalData.osservazioniA; + case 'danniVisibiliB': return GlobalData.danniVisibiliB; + case 'osservazioniB': return GlobalData.osservazioniB; + case 'cognomeContraenteA': return GlobalData.cognomeContraenteA; + case 'nomeContraenteA': return GlobalData.nomeContraenteA; + case 'codiceFiscaleContraenteA': return GlobalData.codiceFiscaleContraenteA; + case 'indirizzoContraenteA': return GlobalData.indirizzoContraenteA; + case 'capContraenteA': return GlobalData.capContraenteA; + case 'statoContraenteA': return GlobalData.statoContraenteA; + case 'nTelefonoMailContraenteA': + return GlobalData.emailContraenteA.isNotEmpty + ? "${GlobalData.nTelefonoMailContraenteA} - ${GlobalData.emailContraenteA}" + : GlobalData.nTelefonoMailContraenteA; + case 'marcaETipoA': return GlobalData.marcaETipoA; + case 'targaA': return GlobalData.targaA; + case 'statoImmatricolazioneA': return GlobalData.statoImmatricolazioneA; + case 'rimorchioA': return GlobalData.rimorchioA; + case 'statoImmatricolazione2A': return GlobalData.statoImmatricolazione2A; + case 'denominazioneA': return GlobalData.denominazioneA; + case 'numeroPolizzaA': return GlobalData.numeroPolizzaA; + case 'nCartaVerdeA': return GlobalData.nCartaVerdeA; + case 'dataInizioDalA': return GlobalData.dataInizioDalA; + case 'dataScadenzaAlA': return GlobalData.dataScadenzaAlA; + case 'agenziaA': return GlobalData.agenziaA; + case 'indirizzoAgenziaA': return GlobalData.indirizzoAgenziaA; + case 'statoAgenziaA': return GlobalData.statoAgenziaA; + case 'denominazioneAgenziaA': return GlobalData.denominazioneAgenziaA; + case 'nTelMailAgenziaA': return GlobalData.nTelMailAgenziaA; + case 'cognomeCondA': return GlobalData.cognomeCondA; + case 'nomeCondA': return GlobalData.nomeCondA; + case 'dataNascitaCondA': return GlobalData.dataNascitaCondA; + case 'codFiscaleCondA': return GlobalData.codFiscaleCondA; + case 'indirizzoCondA': return GlobalData.indirizzoCondA; + case 'statoCondA': return GlobalData.statoCondA; + case 'nTelMailCondA': + return GlobalData.emailCondA.isNotEmpty + ? "${GlobalData.nTelMailCondA} - ${GlobalData.emailCondA}" + : GlobalData.nTelMailCondA; + case 'nPatenteCondA': return GlobalData.nPatenteCondA; + case 'scadenzaCondA': return GlobalData.scadenzaCondA; + case 'cognomeContraenteB': return GlobalData.cognomeContraenteB; + case 'nomeContraenteB': return GlobalData.nomeContraenteB; + case 'codiceFiscaleContraenteB': return GlobalData.codiceFiscaleContraenteB; + case 'indirizzoContraenteB': return GlobalData.indirizzoContraenteB; + case 'capContraenteB': return GlobalData.capContraenteB; + case 'statoContraenteB': return GlobalData.statoContraenteB; + case 'nTelefonoMailContraenteB': + return GlobalData.emailContraenteB.isNotEmpty + ? "${GlobalData.nTelefonoMailContraenteB} - ${GlobalData.emailContraenteB}" + : GlobalData.nTelefonoMailContraenteB; + case 'marcaETipoB': return GlobalData.marcaETipoB; + case 'targaB': return GlobalData.targaB; + case 'statoImmatricolazioneB': return GlobalData.statoImmatricolazioneB; + case 'rimorchioB': return GlobalData.rimorchioB; + case 'statoImmatricolazione2B': return GlobalData.statoImmatricolazione2B; + case 'denominazioneB': return GlobalData.denominazioneB; + case 'numeroPolizzaB': return GlobalData.numeroPolizzaB; + case 'nCartaVerdeB': return GlobalData.nCartaVerdeB; + case 'dataInizioDalB': return GlobalData.dataInizioDalB; + case 'dataScadenzaAlB': return GlobalData.dataScadenzaAlB; + case 'agenziaB': return GlobalData.agenziaB; + case 'indirizzoAgenziaB': return GlobalData.indirizzoAgenziaB; + case 'statoAgenziaB': return GlobalData.statoAgenziaB; + case 'denominazioneAgenziaB': return GlobalData.denominazioneAgenziaB; + case 'nTelMailAgenziaB': return GlobalData.nTelMailAgenziaB; + case 'cognomeCondB': return GlobalData.cognomeCondB; + case 'nomeCondB': return GlobalData.nomeCondB; + case 'dataNascitaCondB': return GlobalData.dataNascitaCondB; + case 'codFiscaleCondB': return GlobalData.codFiscaleCondB; + case 'indirizzoCondB': return GlobalData.indirizzoCondB; + case 'statoCondB': return GlobalData.statoCondB; + case 'nTelMailCondB': + return GlobalData.emailCondB.isNotEmpty + ? "${GlobalData.nTelMailCondB} - ${GlobalData.emailCondB}" + : GlobalData.nTelMailCondB; + case 'nPatenteCondB': return GlobalData.nPatenteCondB; + case 'scadenzaCondB': return GlobalData.scadenzaCondB; default: return ""; } } diff --git a/lib/services/profilo_service.dart b/lib/services/profilo_service.dart index c2989b7..38dfa7f 100644 --- a/lib/services/profilo_service.dart +++ b/lib/services/profilo_service.dart @@ -10,34 +10,34 @@ class ProfiloService { bool isA = lato == 'A'; // Sezione 6-7 Contraente e Veicolo - await prefs.setString('${_prefix}nome_contraente', isA ? GlobalData.Nome_contraente_A : GlobalData.Nome_contraente_B); - await prefs.setString('${_prefix}cognome_contraente', isA ? GlobalData.Cognome_contraente_A : GlobalData.Cognome_contraente_B); - await prefs.setString('${_prefix}cf_contraente', isA ? GlobalData.Codice_Fiscale_contraente_A : GlobalData.Codice_Fiscale_contraente_B); - await prefs.setString('${_prefix}indirizzo_contraente', isA ? GlobalData.Indirizzo_contraente_A : GlobalData.Indirizzo_contraente_B); - await prefs.setString('${_prefix}cap_contraente', isA ? GlobalData.CAP_contraente_A : GlobalData.CAP_contraente_B); - await prefs.setString('${_prefix}stato_contraente', isA ? GlobalData.Stato_contraente_A : GlobalData.Stato_contraente_B); - await prefs.setString('user_tel', lato == 'A' ? GlobalData.N_telefono_mail_contraente_A : GlobalData.N_telefono_mail_contraente_B); - await prefs.setString('user_email', lato == 'A' ? GlobalData.Email_contraente_A : GlobalData.Email_contraente_B); + await prefs.setString('${_prefix}nome_contraente', isA ? GlobalData.nomeContraenteA : GlobalData.nomeContraenteB); + await prefs.setString('${_prefix}cognome_contraente', isA ? GlobalData.cognomeContraenteA : GlobalData.cognomeContraenteB); + await prefs.setString('${_prefix}cf_contraente', isA ? GlobalData.codiceFiscaleContraenteA : GlobalData.codiceFiscaleContraenteB); + await prefs.setString('${_prefix}indirizzo_contraente', isA ? GlobalData.indirizzoContraenteA : GlobalData.indirizzoContraenteB); + await prefs.setString('${_prefix}cap_contraente', isA ? GlobalData.capContraenteA : GlobalData.capContraenteB); + await prefs.setString('${_prefix}stato_contraente', isA ? GlobalData.statoContraenteA : GlobalData.statoContraenteB); + await prefs.setString('user_tel', lato == 'A' ? GlobalData.nTelefonoMailContraenteA : GlobalData.nTelefonoMailContraenteB); + await prefs.setString('user_email', lato == 'A' ? GlobalData.emailContraenteA : GlobalData.emailContraenteB); - await prefs.setString('${_prefix}marca_tipo', isA ? GlobalData.Marca_e_Tipo_A : GlobalData.Marca_e_Tipo_B); - await prefs.setString('${_prefix}targa', isA ? GlobalData.Targa_A : GlobalData.Targa_B); - await prefs.setString('${_prefix}stato_imm', isA ? GlobalData.Stato_immatricolazione_A : GlobalData.Stato_immatricolazione_B); + await prefs.setString('${_prefix}marca_tipo', isA ? GlobalData.marcaETipoA : GlobalData.marcaETipoB); + await prefs.setString('${_prefix}targa', isA ? GlobalData.targaA : GlobalData.targaB); + await prefs.setString('${_prefix}stato_imm', isA ? GlobalData.statoImmatricolazioneA : GlobalData.statoImmatricolazioneB); // Sezione 8 Assicurazione - await prefs.setString('${_prefix}denominazione_ass', isA ? GlobalData.Denominazione_A : GlobalData.Denominazione_B); - await prefs.setString('${_prefix}polizza_ass', isA ? GlobalData.Numero_Polizza_A : GlobalData.Numero_Polizza_B); - await prefs.setString('${_prefix}agenzia_ass', isA ? GlobalData.Agenzia_A : GlobalData.Agenzia_B); + await prefs.setString('${_prefix}denominazione_ass', isA ? GlobalData.denominazioneA : GlobalData.denominazioneB); + await prefs.setString('${_prefix}polizza_ass', isA ? GlobalData.numeroPolizzaA : GlobalData.numeroPolizzaB); + await prefs.setString('${_prefix}agenzia_ass', isA ? GlobalData.agenziaA : GlobalData.agenziaB); // Sezione 9 Conducente - await prefs.setString('${_prefix}nome_cond', isA ? GlobalData.Nome_cond_A : GlobalData.Nome_cond_B); - await prefs.setString('${_prefix}cognome_cond', isA ? GlobalData.Cognome_cond_A : GlobalData.Cognome_cond_B); - await prefs.setString('${_prefix}data_nascita_cond', isA ? GlobalData.Data_nascita_cond_A : GlobalData.Data_nascita_cond_B); - await prefs.setString('${_prefix}cf_cond', isA ? GlobalData.Cod_fiscale_cond_A : GlobalData.Cod_fiscale_cond_B); - await prefs.setString('${_prefix}indirizzo_cond', isA ? GlobalData.Indirizzo_cond_A : GlobalData.Indirizzo_cond_B); - await prefs.setString('user_cond_tel', lato == 'A' ? GlobalData.N_tel_mail_cond_A : GlobalData.N_tel_mail_cond_B); - await prefs.setString('user_cond_email', lato == 'A' ? GlobalData.Email_cond_A : GlobalData.Email_cond_B); - await prefs.setString('${_prefix}patente_cond', isA ? GlobalData.N_Patente_cond_A : GlobalData.N_Patente_cond_B); - await prefs.setString('${_prefix}scadenza_cond', isA ? GlobalData.Scadenza_cond_A : GlobalData.Scadenza_cond_B); + await prefs.setString('${_prefix}nome_cond', isA ? GlobalData.nomeCondA : GlobalData.nomeCondB); + await prefs.setString('${_prefix}cognome_cond', isA ? GlobalData.cognomeCondA : GlobalData.cognomeCondB); + await prefs.setString('${_prefix}data_nascita_cond', isA ? GlobalData.dataNascitaCondA : GlobalData.dataNascitaCondB); + await prefs.setString('${_prefix}cf_cond', isA ? GlobalData.codFiscaleCondA : GlobalData.codFiscaleCondB); + await prefs.setString('${_prefix}indirizzo_cond', isA ? GlobalData.indirizzoCondA : GlobalData.indirizzoCondB); + await prefs.setString('user_cond_tel', lato == 'A' ? GlobalData.nTelMailCondA : GlobalData.nTelMailCondB); + await prefs.setString('user_cond_email', lato == 'A' ? GlobalData.emailCondA : GlobalData.emailCondB); + await prefs.setString('${_prefix}patente_cond', isA ? GlobalData.nPatenteCondA : GlobalData.nPatenteCondB); + await prefs.setString('${_prefix}scadenza_cond', isA ? GlobalData.scadenzaCondA : GlobalData.scadenzaCondB); } /// Verifica se esiste un profilo salvato (almeno un cognome contraente o una targa). @@ -55,59 +55,59 @@ class ProfiloService { String getStr(String key) => prefs.getString('$_prefix$key') ?? ""; if (isA) { - GlobalData.Nome_contraente_A = getStr('nome_contraente'); - GlobalData.Cognome_contraente_A = getStr('cognome_contraente'); - GlobalData.Codice_Fiscale_contraente_A = getStr('cf_contraente'); - GlobalData.Indirizzo_contraente_A = getStr('indirizzo_contraente'); - GlobalData.CAP_contraente_A = getStr('cap_contraente'); - GlobalData.Stato_contraente_A = getStr('stato_contraente'); - GlobalData.N_telefono_mail_contraente_A = prefs.getString('user_tel') ?? ""; - GlobalData.Email_contraente_A = prefs.getString('user_email') ?? ""; + GlobalData.nomeContraenteA = getStr('nome_contraente'); + GlobalData.cognomeContraenteA = getStr('cognome_contraente'); + GlobalData.codiceFiscaleContraenteA = getStr('cf_contraente'); + GlobalData.indirizzoContraenteA = getStr('indirizzo_contraente'); + GlobalData.capContraenteA = getStr('cap_contraente'); + GlobalData.statoContraenteA = getStr('stato_contraente'); + GlobalData.nTelefonoMailContraenteA = prefs.getString('user_tel') ?? ""; + GlobalData.emailContraenteA = prefs.getString('user_email') ?? ""; - GlobalData.Marca_e_Tipo_A = getStr('marca_tipo'); - GlobalData.Targa_A = getStr('targa'); - GlobalData.Stato_immatricolazione_A = getStr('stato_imm'); + GlobalData.marcaETipoA = getStr('marca_tipo'); + GlobalData.targaA = getStr('targa'); + GlobalData.statoImmatricolazioneA = getStr('stato_imm'); - GlobalData.Denominazione_A = getStr('denominazione_ass'); - GlobalData.Numero_Polizza_A = getStr('polizza_ass'); - GlobalData.Agenzia_A = getStr('agenzia_ass'); + GlobalData.denominazioneA = getStr('denominazione_ass'); + GlobalData.numeroPolizzaA = getStr('polizza_ass'); + GlobalData.agenziaA = getStr('agenzia_ass'); - GlobalData.Nome_cond_A = getStr('nome_cond'); - GlobalData.Cognome_cond_A = getStr('cognome_cond'); - GlobalData.Data_nascita_cond_A = getStr('data_nascita_cond'); - GlobalData.Cod_fiscale_cond_A = getStr('cf_cond'); - GlobalData.Indirizzo_cond_A = getStr('indirizzo_cond'); - GlobalData.N_tel_mail_cond_A = prefs.getString('user_cond_tel') ?? ""; - GlobalData.Email_cond_A = prefs.getString('user_cond_email') ?? ""; - GlobalData.N_Patente_cond_A = getStr('patente_cond'); - GlobalData.Scadenza_cond_A = getStr('scadenza_cond'); + GlobalData.nomeCondA = getStr('nome_cond'); + GlobalData.cognomeCondA = getStr('cognome_cond'); + GlobalData.dataNascitaCondA = getStr('data_nascita_cond'); + GlobalData.codFiscaleCondA = getStr('cf_cond'); + GlobalData.indirizzoCondA = getStr('indirizzo_cond'); + GlobalData.nTelMailCondA = prefs.getString('user_cond_tel') ?? ""; + GlobalData.emailCondA = prefs.getString('user_cond_email') ?? ""; + GlobalData.nPatenteCondA = getStr('patente_cond'); + GlobalData.scadenzaCondA = getStr('scadenza_cond'); } else { - GlobalData.Nome_contraente_B = getStr('nome_contraente'); - GlobalData.Cognome_contraente_B = getStr('cognome_contraente'); - GlobalData.Codice_Fiscale_contraente_B = getStr('cf_contraente'); - GlobalData.Indirizzo_contraente_B = getStr('indirizzo_contraente'); - GlobalData.CAP_contraente_B = getStr('cap_contraente'); - GlobalData.Stato_contraente_B = getStr('stato_contraente'); - GlobalData.N_telefono_mail_contraente_B = prefs.getString('user_tel') ?? ""; - GlobalData.Email_contraente_B = prefs.getString('user_email') ?? ""; + GlobalData.nomeContraenteB = getStr('nome_contraente'); + GlobalData.cognomeContraenteB = getStr('cognome_contraente'); + GlobalData.codiceFiscaleContraenteB = getStr('cf_contraente'); + GlobalData.indirizzoContraenteB = getStr('indirizzo_contraente'); + GlobalData.capContraenteB = getStr('cap_contraente'); + GlobalData.statoContraenteB = getStr('stato_contraente'); + GlobalData.nTelefonoMailContraenteB = prefs.getString('user_tel') ?? ""; + GlobalData.emailContraenteB = prefs.getString('user_email') ?? ""; - GlobalData.Marca_e_Tipo_B = getStr('marca_tipo'); - GlobalData.Targa_B = getStr('targa'); - GlobalData.Stato_immatricolazione_B = getStr('stato_imm'); + GlobalData.marcaETipoB = getStr('marca_tipo'); + GlobalData.targaB = getStr('targa'); + GlobalData.statoImmatricolazioneB = getStr('stato_imm'); - GlobalData.Denominazione_B = getStr('denominazione_ass'); - GlobalData.Numero_Polizza_B = getStr('polizza_ass'); - GlobalData.Agenzia_B = getStr('agenzia_ass'); + GlobalData.denominazioneB = getStr('denominazione_ass'); + GlobalData.numeroPolizzaB = getStr('polizza_ass'); + GlobalData.agenziaB = getStr('agenzia_ass'); - GlobalData.Nome_cond_B = getStr('nome_cond'); - GlobalData.Cognome_cond_B = getStr('cognome_cond'); - GlobalData.Data_nascita_cond_B = getStr('data_nascita_cond'); - GlobalData.Cod_fiscale_cond_B = getStr('cf_cond'); - GlobalData.Indirizzo_cond_B = getStr('indirizzo_cond'); - GlobalData.N_tel_mail_cond_B = prefs.getString('user_cond_tel') ?? ""; - GlobalData.Email_cond_B = prefs.getString('user_cond_email') ?? ""; - GlobalData.N_Patente_cond_B = getStr('patente_cond'); - GlobalData.Scadenza_cond_B = getStr('scadenza_cond'); + GlobalData.nomeCondB = getStr('nome_cond'); + GlobalData.cognomeCondB = getStr('cognome_cond'); + GlobalData.dataNascitaCondB = getStr('data_nascita_cond'); + GlobalData.codFiscaleCondB = getStr('cf_cond'); + GlobalData.indirizzoCondB = getStr('indirizzo_cond'); + GlobalData.nTelMailCondB = prefs.getString('user_cond_tel') ?? ""; + GlobalData.emailCondB = prefs.getString('user_cond_email') ?? ""; + GlobalData.nPatenteCondB = getStr('patente_cond'); + GlobalData.scadenzaCondB = getStr('scadenza_cond'); } } } diff --git a/memory-bank/change-log.md b/memory-bank/change-log.md index 5967b4b..a890b0b 100644 --- a/memory-bank/change-log.md +++ b/memory-bank/change-log.md @@ -1,5 +1,8 @@ # Change Log +- **2026-05-02**: Completato il refactoring massivo di `global_data.dart`. Oltre 60 variabili statiche sono state convertite in `lowerCamelCase` per estinguere il debito tecnico ed eliminare i warning del linter. Garantita la retrocompatibilità del salvataggio dati JSON e `SharedPreferences` modificando le chiavi in `cai_mapping.dart`. +- **2026-05-02**: Creazione del test `data_exchange_test.dart` per validare lo scambio dati P2P e JSON. Risolto bug critico pre-esistente in `cid_data_manager.dart` inserendo i campi email nell'esportazione e importazione per evitarne la perdita durante lo scambio Firebase. + - **2026-05-01**: Installato il pacchetto `firebase_analytics` e configurato il tracciamento esplicito dell'evento `app_open` all'interno di `main.dart` per monitorare correttamente i download derivanti dalla campagna Google Ads. - **2026-05-01**: Revisione delle metriche di acquisizione utenti (536 download da Ads, 306 Organici negli ultimi 90 giorni). Sospesa temporaneamente la campagna Google Ads tramite la dashboard. - **2026-04-28**: Modificato il campo "Telefono / Email" in due campi separati in `comp_6-7.dart` (Contraente) e `comp_9.dart` (Conducente) con implementazione Regex per formati internazionali ed email. Aggiornata logica `pdf_engine.dart` per stampare la stringa concatenata nel PDF e aggiornato il salvataggio locale `profilo_service.dart`. **Eseguito e validato test end-to-end** (`full_flow_test.dart`) verificando l'autocompilazione delle email, il bypass OTP e la generazione integra del file PDF. diff --git a/memory-bank/current-state.md b/memory-bank/current-state.md index 9eee72d..ce5e9f0 100644 --- a/memory-bank/current-state.md +++ b/memory-bank/current-state.md @@ -13,7 +13,7 @@ L'app "CAI Facile" è in uno stato avanzato di sviluppo. Lo scambio dati remoto, - **Monetizzazione**: Sistema di abbonamenti (In-App Purchases) attivo tramite RevenueCat con Paywall integrato sul flusso di Scambio Dati. ## Problemi Aperti / TODO -- **Debito Tecnico**: Sono presenti variabili non formattate in `lowerCamelCase` all'interno di `lib/global_data.dart` (es. `Cod_fiscale_cond_B`). +- (Nessun debito tecnico critico noto al momento) ## Marketing / Pubblicità - **Acquisizione Utenti (Google Ads)**: Campagna attiva dal 6 marzo al 1 maggio 2026. Risultati ultimi 90gg: 536 download da annunci e 306 organici. La campagna è stata **messa in pausa** il 1 maggio 2026 dopo aver validato il modello di acquisizione. diff --git a/memory-bank/next-session.md b/memory-bank/next-session.md index 6f24361..217fba2 100644 --- a/memory-bank/next-session.md +++ b/memory-bank/next-session.md @@ -1,12 +1,11 @@ # Next Session ## Stato Finale -- Abbiamo concluso l'analisi dei dati di Acquisizione (Google Ads) e configurato con successo `firebase_analytics` per tracciare le aperture (`app_open`) su Firebase. -- La campagna Google Ads è stata formalmente sospesa. L'architettura generale di monetizzazione e scambio dati è stabile. +- Completato il refactoring massivo di `global_data.dart` in `lowerCamelCase`. Il debito tecnico sintattico è stato estinto. +- La stabilità dei form e del PDF è verificata (ridotti i warning da 196 a 116). ## Prossimo Passo (Focus) -- **Priorità 1 (Debito Tecnico)**: Refactoring del file `lib/global_data.dart` per correggere i nomi delle variabili che attualmente violano il `lowerCamelCase` (es. `Cod_fiscale_cond_B`). -- **Priorità 2 (Sviluppo Funzionale)**: Riprendere l'implementazione della Firma Elettronica Avanzata (FEA) e testare il rendering del certificato nella Pagina 2 del PDF. +- **Priorità 1 (Sviluppo Funzionale)**: Implementazione della Firma Elettronica Avanzata (FEA) e generazione del certificato nella Pagina 2 del PDF. ## File da Rileggere - `lib/global_data.dart` (per avviare la pulizia). diff --git a/test/data_exchange_test.dart b/test/data_exchange_test.dart new file mode 100644 index 0000000..1c0604b --- /dev/null +++ b/test/data_exchange_test.dart @@ -0,0 +1,72 @@ +import 'package:flutter_test/flutter_test.dart'; +import 'package:cid_app/global_data.dart'; +import 'package:cid_app/cid_data_manager.dart'; + +void main() { + test('Verifica Inserimento, Esportazione JSON e Importazione Dati (Simulazione Scambio Firebase)', () { + // 1. Reset Pulito + GlobalData.reset(); + GlobalData.latoCorrente = 'A'; + + // 2. Inserimento Dati Simulato (Conducente A compila) + GlobalData.dataIncidente = "02/05/2026"; + GlobalData.luogo = "Milano, Via Roma 1"; + GlobalData.feriti = false; + + GlobalData.cognomeContraenteA = "Rossi"; + GlobalData.nomeContraenteA = "Mario"; + GlobalData.codiceFiscaleContraenteA = "RSSMRA80A01F205Z"; + GlobalData.emailContraenteA = "mario.rossi@test.it"; + + GlobalData.marcaETipoA = "Fiat Panda"; + GlobalData.targaA = "AA123BB"; + + GlobalData.denominazioneA = "Assicurazioni Test"; + GlobalData.numeroPolizzaA = "123456789"; + GlobalData.flagDanniMatAssicuratiA = true; + + GlobalData.danniVisibiliA = "Paraurti distrutto"; + GlobalData.circostanzeA = {2: true, 5: true}; + + // 3. Serializzazione JSON (Simulazione Esportazione verso QR o Firebase) + Map jsonEsportato = CidDataManager.estraiDatiPerExport(); + + // Verifica intermedia della struttura esportata (con le chiavi "minificate") + expect(jsonEsportato['lato'], 'A'); + expect(jsonEsportato['generali']['luogo'], "Milano, Via Roma 1"); + expect(jsonEsportato['contraente']['cognome'], "Rossi"); + expect(jsonEsportato['veicolo']['targa'], "AA123BB"); + expect(jsonEsportato['assicurazione']['flag_danni'], true); + + // 4. Reset Simulato (Il dispositivo del Conducente B è vuoto prima di scansionare) + GlobalData.reset(); + GlobalData.latoCorrente = 'B'; // Adesso siamo il dispositivo B + expect(GlobalData.cognomeContraenteA, ""); + expect(GlobalData.targaA, ""); + + // 5. Importazione Dati (Simulazione Ricezione JSON scansionato o da Firebase) + CidDataManager.importaDati(jsonEsportato); + + // 6. Verifica Integrità Dati Post-Importazione (I dati di A devono essere andati in "Lato A") + expect(GlobalData.dataIncidente, "02/05/2026", reason: "Data incidente persa"); + expect(GlobalData.luogo, "Milano, Via Roma 1", reason: "Luogo perso"); + expect(GlobalData.feriti, false, reason: "Stato feriti perso"); + + expect(GlobalData.cognomeContraenteA, "Rossi", reason: "Cognome Contraente A perso (Possibile errore naming refactoring)"); + expect(GlobalData.nomeContraenteA, "Mario", reason: "Nome Contraente A perso"); + expect(GlobalData.emailContraenteA, "mario.rossi@test.it", reason: "Email A persa"); + + expect(GlobalData.targaA, "AA123BB", reason: "Targa A persa"); + + expect(GlobalData.numeroPolizzaA, "123456789", reason: "Polizza A persa"); + expect(GlobalData.flagDanniMatAssicuratiA, true, reason: "Flag danni A perso"); + + expect(GlobalData.danniVisibiliA, "Paraurti distrutto", reason: "Danni visibili A persi"); + + // Test mappa circostanze (List vs Map issue test) + expect(GlobalData.circostanzeA[2], true, reason: "Circostanza 2 persa"); + expect(GlobalData.circostanzeA[5], true, reason: "Circostanza 5 persa"); + + print("✅ TEST COMPLETATO: Serializzazione, Scambio Dati JSON e Refactoring Variabili perfettamente funzionanti."); + }); +} diff --git a/test/full_flow_test.dart b/test/full_flow_test.dart index e1a8e21..1bf1fdc 100644 --- a/test/full_flow_test.dart +++ b/test/full_flow_test.dart @@ -21,23 +21,23 @@ void main() { test('Test Completo: ProfiloService, Scambio Dati e Generazione PDF FEA', () async { // 1. Simula l'inserimento dei dati da parte del Conducente A - GlobalData.Nome_contraente_A = "MARIO"; - GlobalData.Cognome_contraente_A = "ROSSI"; - GlobalData.Codice_Fiscale_contraente_A = "RSSMRA80A01H501U"; - GlobalData.N_telefono_mail_contraente_A = "+393331234567"; - GlobalData.Email_contraente_A = "mario.rossi@email.it"; + GlobalData.nomeContraenteA = "MARIO"; + GlobalData.cognomeContraenteA = "ROSSI"; + GlobalData.codiceFiscaleContraenteA = "RSSMRA80A01H501U"; + GlobalData.nTelefonoMailContraenteA = "+393331234567"; + GlobalData.emailContraenteA = "mario.rossi@email.it"; - GlobalData.Marca_e_Tipo_A = "FIAT PANDA"; - GlobalData.Targa_A = "AA123BB"; - GlobalData.Stato_immatricolazione_A = "ITALIA"; + GlobalData.marcaETipoA = "FIAT PANDA"; + GlobalData.targaA = "AA123BB"; + GlobalData.statoImmatricolazioneA = "ITALIA"; - GlobalData.Denominazione_A = "ASSICURAZIONI SPA"; - GlobalData.Numero_Polizza_A = "123456789"; + GlobalData.denominazioneA = "ASSICURAZIONI SPA"; + GlobalData.numeroPolizzaA = "123456789"; - GlobalData.Nome_cond_A = "MARIO"; - GlobalData.Cognome_cond_A = "ROSSI"; - GlobalData.N_tel_mail_cond_A = "+393331234567"; - GlobalData.Email_cond_A = "mario.rossi@email.it"; + GlobalData.nomeCondA = "MARIO"; + GlobalData.cognomeCondA = "ROSSI"; + GlobalData.nTelMailCondA = "+393331234567"; + GlobalData.emailCondA = "mario.rossi@email.it"; // 2. Salva il profilo await ProfiloService.salvaProfilo('A'); @@ -47,23 +47,23 @@ void main() { expect(esiste, true); // 4. Ripulisce GlobalData (simulando un riavvio dell'app) - GlobalData.Nome_contraente_A = ""; - GlobalData.Cognome_contraente_A = ""; - GlobalData.Targa_A = ""; - GlobalData.Email_contraente_A = ""; + GlobalData.nomeContraenteA = ""; + GlobalData.cognomeContraenteA = ""; + GlobalData.targaA = ""; + GlobalData.emailContraenteA = ""; // 5. Ricarica il profilo (Autocompilazione) await ProfiloService.caricaProfilo('A'); - expect(GlobalData.Nome_contraente_A, "MARIO"); - expect(GlobalData.Targa_A, "AA123BB"); - expect(GlobalData.Email_contraente_A, "mario.rossi@email.it"); + expect(GlobalData.nomeContraenteA, "MARIO"); + expect(GlobalData.targaA, "AA123BB"); + expect(GlobalData.emailContraenteA, "mario.rossi@email.it"); // 6. Simula i dati del Conducente B (dall'altra parte dello scambio) - GlobalData.Nome_contraente_B = "LUIGI"; - GlobalData.Cognome_contraente_B = "VERDI"; - GlobalData.Targa_B = "CC987DD"; - GlobalData.N_tel_mail_cond_B = "+393339876543"; - GlobalData.Email_cond_B = "luigi.verdi@email.it"; + GlobalData.nomeContraenteB = "LUIGI"; + GlobalData.cognomeContraenteB = "VERDI"; + GlobalData.targaB = "CC987DD"; + GlobalData.nTelMailCondB = "+393339876543"; + GlobalData.emailCondB = "luigi.verdi@email.it"; // 7. Simula l'esito della FEA (senza inviare veri SMS) // Conducente A approva diff --git a/test/output_test_flow.pdf b/test/output_test_flow.pdf index 9f4c24b..b919742 100644 Binary files a/test/output_test_flow.pdf and b/test/output_test_flow.pdf differ