sendRequestList method
dynamic
sendRequestList(
- dynamic context
Implementation
sendRequestList(context) async {
myLogAll('sendRequestList');
try {
var secretekey = _sessionkey;
if (secretekey == '') {
//hold for 1 sec
if (initRequest == '') {
wait(100);
var param = getMod(_zzydhbase, _arandomsession, _zzyprime);
Map data = {
gAction: gGetsessionkey,
gData: [
{gKey: param}
]
};
requestListAddFirst(data);
}
}
if (_requestList!.isEmpty) {
return;
}
//while (_requestList!.isNotEmpty)
while (requestListhasValidItem())
//for (int i = 0; i < _requestList!.length; i++)
{
//Map requestFirst = _requestList.first;
//Map requestFirst = _requestList!.elementAt(0);
Map requestFirst = getFirstValidRequestList();
//Map requestFirst = _requestList.removeFirst();
//print('----------request list remove ' + requestFirst.toString());
/*if (_requestListRunning
.where((element) => element.toString() == requestFirst.toString())
.isNotEmpty) {
continue;
}
_requestListRunning.add(requestFirst);*/
if (requestFirst[gAction] != null &&
requestFirst[gAction] == gLocalAction) {
try {
await localAction(requestFirst, context);
} catch (e1) {
showMsg(context, e1, null);
} finally {
requestListRemove(requestFirst);
}
continue;
}
/*if (_globalParam[gToken] != '') {
requestFirst[gToken] = _globalParam[gToken];
//requestFirst[gCompanyid] = _globalCompanyid;
//if is company detail, zzyuser, company, change the companyid to parentid in the where condition.
}*/
requestFirst[gHtmlEnv] = getGlobalHtml();
//#add timestamp for process table
if (!isNull(requestFirst[gData]) && requestFirst[gData] is! List) {
if (!isNull(requestFirst[gData][gData]) &&
requestFirst[gData][gData] is List) {
requestFirst[gData] = requestFirst[gData][gData];
}
}
if (!isNull(requestFirst[gData]) && requestFirst[gData] is List) {
List requestData = requestFirst[gData];
var existsTables = '';
var existsTablesSep = '';
/*_tableList.forEach((key, value) {
existsTables = existsTables + existsTablesSep + key;
existsTablesSep = ',';
});*/
_dpList.forEach((key, value) {
existsTables = existsTables + existsTablesSep + key;
existsTablesSep = ',';
});
for (var element in requestData) {
if ((!isNull(element[gType]) &&
element[gType] == gTable &&
!isNull(element[gActionid])) ||
!isNull(element[gTableID])) {
var tablename = element[gActionid] ?? element[gTableID];
// ignore: prefer_typing_uninitialized_variables
var timestamp;
if (_tableList.keys.contains(tablename))
//if (_tableList[tablename] != null)
{
timestamp = _tableList[tablename]![gTimestamp];
}
myLog(' sendRequestList 1 $tablename');
if (isSS()) {
element[gTimestamp] = timestamp;
element[gTablelistExist] = existsTables;
}
myLog(' sendRequestList 2 $tablename');
}
}
}
//var dataRequest = encryptByDES(requestFirst);
try {
//print('=== processRequest $requestFirst');
await processRequest(requestFirst, context);
} catch (e1) {
showMsg(context, e1, null);
} finally {
//requestListRemove(requestFirst);
}
}
//await sendRequestList(context);
} catch (e) {
showMsg(context, e, null);
//throw e;
//print('=====exception is ' + e);
} finally {}
//downloadResponse(data);
}