getRecommendation function
Implementation
Future getRecommendation() async {
try {
var recommendationNode =
await Storage.controller!.get(':Global:Recommendations');
var getChildren = await recommendationNode.getChildren();
var recoNodeIterator = getChildren.entries.iterator;
while (recoNodeIterator.moveNext()) {
var recommendationTypeNode =
await recoNodeIterator.current.value.getValue('RecommendationType');
var recommendationType = recommendationTypeNode!.getValue('en')!;
var relatedThreatsWeightsNode = await recoNodeIterator.current.value
.getValue('relatedThreatsWeights');
var lists =
relatedThreatsWeightsNode!.getValue('en')!.split(';'); //List<String>
for (var node in lists) {
var relatedThreatsWeights = node.split(',');
Node impactNormal = NodeImpl('', '');
await impactNormal
.addValue(NodeValueImpl('impact', relatedThreatsWeights[1]));
await impactNormal
.addValue(NodeValueImpl('recuuid', recoNodeIterator.current.key));
var shortNode = await recoNodeIterator.current.value.getValue('short');
await impactNormal
.addValue(NodeValueImpl('short', shortNode!.getValue('en')!));
//RecommendationType == types.Devices ? coreValues.deviceRecommendation[relatedThreatsWeights[0]]!.add(impactNormal) : coreValues.userRecommendation[relatedThreatsWeights[0]]!.add(impactNormal);
if (recommendationType == Types.devices.toLowerCase()) {
try {
CoreValues.deviceRecommendation[relatedThreatsWeights[0]]!
.add(impactNormal);
} catch (e) {
var temp = <Node>[];
temp.add(impactNormal);
CoreValues.deviceRecommendation[relatedThreatsWeights[0]] = temp;
}
} else {
try {
CoreValues.userRecommendation[relatedThreatsWeights[0]]!
.add(impactNormal);
} catch (e) {
var temp = <Node>[];
temp.add(impactNormal);
CoreValues.userRecommendation[relatedThreatsWeights[0]] = temp;
}
}
}
}
} catch (e) {
// ignore: avoid_print
print(e);
return;
}
}