107 lines
6.2 KiB
Dart
107 lines
6.2 KiB
Dart
import 'package:shared_preferences/shared_preferences.dart';
|
|
import '../global_data.dart';
|
|
|
|
class ProfiloService {
|
|
static const String _prefix = "my_profile_";
|
|
|
|
/// Salva tutti i dati del lato specificato (A o B) nelle SharedPreferences.
|
|
static Future<void> salvaProfilo(String lato) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
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('${_prefix}tel_contraente', isA ? GlobalData.N_telefono_mail_contraente_A : GlobalData.N_telefono_mail_contraente_B);
|
|
|
|
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);
|
|
|
|
// 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);
|
|
|
|
// 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('${_prefix}tel_cond', isA ? GlobalData.N_tel_mail_cond_A : GlobalData.N_tel_mail_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);
|
|
}
|
|
|
|
/// Verifica se esiste un profilo salvato (almeno un cognome contraente o una targa).
|
|
static Future<bool> esisteProfilo() async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
String? cognome = prefs.getString('${_prefix}cognome_contraente');
|
|
return cognome != null && cognome.trim().isNotEmpty;
|
|
}
|
|
|
|
/// Carica il profilo dalle SharedPreferences in GlobalData per il lato specificato.
|
|
static Future<void> caricaProfilo(String lato) async {
|
|
final prefs = await SharedPreferences.getInstance();
|
|
bool isA = lato == 'A';
|
|
|
|
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 = getStr('tel_contraente');
|
|
|
|
GlobalData.Marca_e_Tipo_A = getStr('marca_tipo');
|
|
GlobalData.Targa_A = getStr('targa');
|
|
GlobalData.Stato_immatricolazione_A = getStr('stato_imm');
|
|
|
|
GlobalData.Denominazione_A = getStr('denominazione_ass');
|
|
GlobalData.Numero_Polizza_A = getStr('polizza_ass');
|
|
GlobalData.Agenzia_A = 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 = getStr('tel_cond');
|
|
GlobalData.N_Patente_cond_A = getStr('patente_cond');
|
|
GlobalData.Scadenza_cond_A = 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 = getStr('tel_contraente');
|
|
|
|
GlobalData.Marca_e_Tipo_B = getStr('marca_tipo');
|
|
GlobalData.Targa_B = getStr('targa');
|
|
GlobalData.Stato_immatricolazione_B = getStr('stato_imm');
|
|
|
|
GlobalData.Denominazione_B = getStr('denominazione_ass');
|
|
GlobalData.Numero_Polizza_B = getStr('polizza_ass');
|
|
GlobalData.Agenzia_B = 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 = getStr('tel_cond');
|
|
GlobalData.N_Patente_cond_B = getStr('patente_cond');
|
|
GlobalData.Scadenza_cond_B = getStr('scadenza_cond');
|
|
}
|
|
}
|
|
}
|