obtenerDataBloc method
Future<({List<Map<String, dynamic> > lstData, Map<String, dynamic> rtaConsultaApi})>
obtenerDataBloc({})
Implementation
Future<
({
Map<String, dynamic> rtaConsultaApi,
List<Map<String, dynamic>> lstData,
})> obtenerDataBloc({
required Map<String, dynamic> esquema,
required Map<String, dynamic> params,
required List<List<String>> argsLocalBD,
required int skipActual,
required int limit,
required String coleccion,
bool propertyInArrayObject = false,
String? ordenar,
}) async {
Map<String, Map<String, dynamic>> lstCamposConDataAdicional = {
...FlutterUtilsProvider.obtenerCamposConDataAdicional(
esquema: esquema, propertyInArrayObject: propertyInArrayObject)
};
List<Map<String, dynamic>> subConsultas =
tokenizaConcatenacion(lstCamposConDataAdicional, esquema);
final rtaConsultaApi = await obtenerData<ColeccionObjBox>(
coleccion: coleccion,
consulta: params['consulta'],
project: _camposAMostrarEnTabla(subConsultas, esquema),
argsLocalBD: [...argsLocalBD],
concatenar: subConsultas.isNotEmpty ? jsonEncode(subConsultas) : null,
skip: skipActual.toString(),
limit: limit.toString(),
ordenar: ordenar,
);
if (rtaConsultaApi.containsKey(EnvironmentApiRest.dataNOk)) {
throw rtaConsultaApi[EnvironmentApiRest.error];
}
final List<Map<String, dynamic>> lstData =
(rtaConsultaApi[EnvironmentApiRest.data].length > 0)
? [...rtaConsultaApi[EnvironmentApiRest.data]]
: [];
return (rtaConsultaApi: rtaConsultaApi, lstData: lstData);
}