sendRequestList method

dynamic sendRequestList(
  1. 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);
}