criarNovoBody method

Future<void> criarNovoBody()

Implementation

Future<void> criarNovoBody() async {

  for (FiltrosPageAtual valores in listaFiltrosParaConstruirTela) {
    if (valores.qualPaginaFiltroPertence == indexPagina) {
      filtrosSalvosParaAdicionarNoBody.addAll(
        valores.filtrosWidgetModel.toJsonItensSelecionados(),
      );
    }
  }

  filtrosSalvosParaAdicionarNoBody.forEach((key, value) {
    if(key.contains("cardPeriodoMensal")){
      dataCampanhaInicial = value.first["codigo"].toString().padLeft(7, "0");
    }
  },);

  if (controllerReports.bodySecundario.isEmpty) {
    controllerReports.bodyPrimario.update(
      'dtinicio',
      (value) => value = dtinicio,
    );
    controllerReports.bodyPrimario.update('dtfim', (value) => value = dtfim);
    controllerReports.bodyPrimario.addAll(filtrosSalvosParaAdicionarNoBody);

    //Data mensal das campanhas
    if(controllerReports.bodyPrimario.containsKey("dataMensal")) {
      controllerReports.bodyPrimario.update("dataMensal", (value) => value = dataCampanhaInicial,);
    } else {
      controllerReports.bodyPrimario.addAll(
        {"dataMensal": dataCampanhaInicial}
      );
    }
  } else {
    controllerReports.bodySecundario.update(
      'dtinicio',
      (value) => value = dtinicio,
    );
    controllerReports.bodySecundario.update('dtfim', (value) => value = dtfim);

    if(controllerReports.bodyPrimario.containsKey("dataMensal")) {
      controllerReports.bodyPrimario.update("dataMensal", (value) => value = dataCampanhaInicial,);
    } else {
      controllerReports.bodyPrimario.addAll(
        {"dataMensal": dataCampanhaInicial}
      );
    }

    controllerReports.bodySecundario.addAll(filtrosSalvosParaAdicionarNoBody);
  }
  //Data mensal das campanhas
  if(controllerReports.bodyPrimario.containsKey("dataMensal")) {
    controllerReports.bodyPrimario.update("dataMensal", (value) => value = dataCampanhaInicial,);
  } else {
    controllerReports.bodyPrimario.addAll(
      {"dataMensal": dataCampanhaInicial}
    );
  }

  mapaDatasNomeadas.forEach((key, value) {
    if(controllerReports.bodyPrimario.containsKey(key)){
      if(!value["isEnable"]){
        controllerReports.bodyPrimario.update(key, (value2) => value2 = value,);
      }else{
        controllerReports.bodyPrimario.removeWhere((key2, value2) => key == key2,);
      }
    }
    else{
      if(!value["isEnable"]){
        controllerReports.bodyPrimario.addAll({key: value});
      }
    }
  },);

  await controllerReports.getDados();
}