actualizarEstructuraDatos method

void actualizarEstructuraDatos(
  1. List<String> keys,
  2. String currentParentKeys,
  3. dynamic data,
  4. Map<String, dynamic> esquema,
  5. Map<String, dynamic> streamValue,
  6. Map<String, CampoEsquema> streamCampoValue,
)

Esta funcion toma los datos de se encuentran en los controllers de los campos y los pasa a la data que despues se almacena en el State del Bloc Parametros: campos Mapa con los campos que se van a actualizar en el parametro data data Mapa con los datos que se van a actualizar esto son los datos que estan actualualmente en el State del Bloc esquema Mapa con el esquema de la coleccion streamValue Mapa con los valores de todos los controllers que tiene el formulario en su totalidad, esto se utiliza para obtener los valores y usarlos en la nueva data que se esta agregando cuando el campo tiene vincualdo algun modelo de calculo o vinculacion de dato con otro campo esto se define en la propiedad listenStreamValue modelo

Implementation

void actualizarEstructuraDatos(
    List<String> keys,
    String currentParentKeys,
    dynamic data,
    Map<String, dynamic> esquema,
    Map<String, dynamic> streamValue,
    Map<String, CampoEsquema> streamCampoValue) {
  for (final key in keys) {
    String currentKey = '$currentParentKeys$key';
    dynamic valor = streamValue[currentKey];
    final campo = streamCampoValue[currentKey];
    if (valor == null || campo == null) continue;

    actualizarValorCampo(FlutterUtilsProvider.descomponerKey(key), data,
        valor, esquema, campo.tipoDato);
  }
}