execute method
Implementation
Future<Map<String, List<Map<String, Object?>?>?>?> execute(String query,
{Map<String, Object?>? params,
bool isCache = false,
bool formatJson = false}) async {
params ??= {};
params.addAll({
fieldPageNumber: _currentPage,
fieldOrderByField: orderByField,
fieldOrderByAsc: orderByASC,
});
if (rowsOfPage > 0) {
params.addAll({
fieldRowsOfPage: rowsOfPage,
});
}
mapCondition.forEach((key, value) {
if (value != null && value is RangeValue) {
final giaRangeValue = value;
params?.update(
'${key}Min',
(_) => giaRangeValue.start,
ifAbsent: () => giaRangeValue.start,
);
params?.update(
'${key}Max',
(_) => giaRangeValue.end,
ifAbsent: () => giaRangeValue.end,
);
} else {
params?.update(key, (_) => value, ifAbsent: () => value);
}
});
if (kDebugMode) {
print('query: $query');
print('params: $params');
}
final data = await SQLService.execute(query,
params: params, isCache: isCache, formatJson: formatJson);
String? displayTable = getFilterFieldName(data);
if (displayTable == null) {
_hasNextPage = false;
} else if (data[displayTable]?.isEmpty ?? true) {
_hasNextPage = false;
}
if (currentPage == 1) {
tempData.clear();
tempData.addEntries(data.entries);
}
return data;
}