crtRecommendation function

Future crtRecommendation(
  1. dynamic type
)

Implementation

Future crtRecommendation(var type) async {
  var node = {};
  type == Types.devices
      ? node = CoreValues.deviceRecommendation
      : node = CoreValues.userRecommendation;
  var threatRecoList = [];
  var recUUID = '';
  var recoObjVList = [];
  // var recoObjList = [];

  for (String threatUUID in CoreValues.uuidThreats) {
    var recoLists = '';

    try {
      var reco = node[threatUUID]!.iterator;

      while (reco.moveNext()) {
        var impactNode = await reco.current.getValue('impact');
        var impact = impactNode.getValue('en');

        try {
          var recuuidNode = await reco.current.getValue('recuuid');
          recUUID = recuuidNode.getValue('en');
        } catch (e) {
          continue;
        }
        var impactV = CoreValues.impactValues[impact.toLowerCase()]!;

        recoLists += '$recUUID,$impactV;';

        //type =="Devices" ? coreValues.deviceThreatScore[threatUUID] = Gspt : coreValues.userThreatScore[threatUUID] = Gspt;

        var recoVal = {};
        recoVal['weight'] = impactV;
        recoVal['id'] = recUUID;
        recoVal['type'] = type.toString().toLowerCase();
        var shortNode = await reco.current.getValue('short');
        recoVal['short'] = shortNode.getValue('en');

        recoObjVList.add(recoVal);
      }
      if(recoLists.isNotEmpty) threatRecoList.add(NodeValueImpl(threatUUID, recoLists));

      var threatVal = {};
      threatVal['threatId'] = threatUUID;
      threatVal['name'] = CoreValues.uuidName[threatUUID].toString().trim();

      var recoObj = {};
      recoObj['threat'] = threatVal;
      recoObj['recommendations'] = recoObjVList;

      var recoObjKey = {};
      recoObjKey['recommendations'] = recoObj;

      type.toString().toLowerCase() == Types.devices.toLowerCase()
          ? JsonObject.deviceRecoObjList.add(recoObjKey)
          : JsonObject.userRecoObjList.add(recoObjKey);
    } catch (e) {
      continue;
    }
  }

  return threatRecoList;
}