salvarFiltrosShared static method

void salvarFiltrosShared({
  1. required ObservableList<FiltrosCarrregados> listaFiltrosCarregadoss,
})

Implementation

static void salvarFiltrosShared ({required ObservableList<FiltrosCarrregados> listaFiltrosCarregadoss}) async {
  List<String> valoresSalvosCarregados = [];
  List<String> valoresSalvosConstruirTela = [];
  if(!isfiltrosSalvosApp){
    final prefs = await SharedPreferences.getInstance();
    prefs.remove('filtrosSalvos.$bancoDeDados.$matricula');
    prefs.remove('filtrosContruirTela.$bancoDeDados.$matricula');
    prefs.remove('isfiltrosSalvosApp.$bancoDeDados.$matricula');
    isfiltrosSalvosApp = false;
  }else{
    if (listaFiltrosCarregadoss.isNotEmpty) {
      final prefs = await SharedPreferences.getInstance();

      prefs.remove('filtrosSalvos.$bancoDeDados.$matricula');
      prefs.remove('filtrosContruirTela.$bancoDeDados.$matricula');
      prefs.remove('isfiltrosSalvosApp.$bancoDeDados.$matricula');

      for (FiltrosCarrregados itens in listaFiltrosCarregadoss) {
        Map<String, dynamic> itemMap = {
          'indexFiltros': itens.indexFiltros,
          'indexPagina': itens.indexPagina,
          'pesquisaFeita': itens.pesquisaFeita,
          'listaFiltros': itens.listaFiltros.map((filtro) => {
            'titulo': filtro.titulo,
            'codigo' : filtro.codigo,
            'subtitulo' : filtro.subtitulo,
            'selecionado': filtro.selecionado,
          }).toList(),
          'valorSelecionadoParaDropDown': itens.valorSelecionadoParaDropDown,
          'tipoFiltro': itens.tipoFiltro,
          "tipoWidget" : itens.tipoWidget,
        };

        String jsonString = jsonEncode(itemMap);
        valoresSalvosCarregados.add(jsonString);
      }

      for (FiltrosPageAtual itens in listaFiltrosParaConstruirTelaTemp) {
        Map<String, dynamic> itemMap = {
          'qualPaginaFiltroPertence': itens.qualPaginaFiltroPertence,
          'filtrosWidgetModel': {
            "arquivoQuery" : itens.filtrosWidgetModel.arquivoQuery,
            "bancoBuscarFiltros" : itens.filtrosWidgetModel.bancoBuscarFiltros,
            "funcaoPrincipal" : itens.filtrosWidgetModel.funcaoPrincipal,
            "subtitulo" : itens.filtrosWidgetModel.subtitulo,
            "tipoFiltro" : itens.filtrosWidgetModel.tipoFiltro,
            "tipoWidget" : itens.filtrosWidgetModel.tipoWidget,
            "titulo" : itens.filtrosWidgetModel.titulo,
            "itensSelecionados" : itens.filtrosWidgetModel.itensSelecionados!.map((e) => {
              'titulo': e.titulo,
              'codigo' : e.codigo,
              'subtitulo' : e.subtitulo,
              'selecionado': e.selecionado,
            },).toList(),
          }
        };

        String jsonString = jsonEncode(itemMap);
        valoresSalvosConstruirTela.add(jsonString);
      }

      prefs.setStringList('filtrosSalvos.$bancoDeDados.$matricula', valoresSalvosCarregados);
      prefs.setStringList('filtrosContruirTela.$bancoDeDados.$matricula', valoresSalvosConstruirTela);
      prefs.setBool('isfiltrosSalvosApp.$bancoDeDados.$matricula', isfiltrosSalvosApp);
    }
  }

}