onBtnPressed method

  1. @override
Future<String> onBtnPressed(
  1. StorageController _storageController
)
override

implement onBtnPressed function from geiger abstract class

@return a Future of json string

Implementation

@override
Future<String> onBtnPressed(StorageController _storageController) async {
  UserNode _userNode = UserNode(_storageController);
  DeviceNode _deviceNode = DeviceNode(_storageController);
  RecommendationNode _recommendationNode =
      RecommendationNode(_storageController);

  List<GeigerScoreThreats> geigerScoreThreats = [];
  List<GeigerRecommendation> gr =
      await _recommendationNode.getRecommendations;
  print(gr);
  try {
    List<GeigerRecommendation> gr =
        await RecommendationNode(_storageController).getRecommendations;
    //print(gr);
    //add aggregate,//userScore // deviceScore
    geigerScoreThreats
        .add(await _userNode.getGeigerScoreAggregateThreatScore());
    geigerScoreThreats.add(await _userNode.getGeigerScoreUserThreatScores());
    geigerScoreThreats
        .add(await _deviceNode.getGeigerScoreDeviceThreatScores());
    return jsonEncode(GeigerData(
        geigerScoreThreats: geigerScoreThreats, geigerRecommendations: gr));
  } catch (e) {
    throw Exception(
        "Node aggregate, user, device and recommendation not created");
  }
}