GroupVotesFromJson.fromFrenchNationalAssemblyJson constructor

GroupVotesFromJson.fromFrenchNationalAssemblyJson(
  1. Map<String, dynamic> json, {
  2. required String majoriteVoteFromScrutin,
})

Mapping from JSON

Implementation

GroupVotesFromJson.fromFrenchNationalAssemblyJson(Map<String, dynamic> json,
    {required String majoriteVoteFromScrutin}) {
  this.majoriteVote = majoriteVoteFromScrutin;

  this.organeRef = json['organeRef'];
  this.nbMembers = int.tryParse(json['nombreMembresGroupe']) ?? 0;

  Map<String, dynamic> _vote = json["vote"];
  positionMajoritaire = _vote["positionMajoritaire"];
  Map<String, dynamic> _decompteVoix = _vote["decompteVoix"];

  this.votedFor = int.tryParse(_decompteVoix['pour']) ?? 0;
  this.votedAgainst = int.tryParse(_decompteVoix['contre']) ?? 0;
  this.votedAbstention = int.tryParse(_decompteVoix['abstentions']) ?? 0;
  this.didNotVote = int.tryParse(_decompteVoix['nonVotants']) ?? 0;

  List<IndividualVoteFromJson> _toPass = [];

  Map<String, dynamic> _decompteNominatif = _vote["decompteNominatif"];
  if (_decompteNominatif['pours'] != null) {
    // print("----- POURS not null");
    Map<String, dynamic> _voteResult = _decompteNominatif['pours'];
    if (this.votedFor != null &&
        _voteResult['votant'].toString().substring(0, 1) == "[") {
      List<dynamic> _votants = _voteResult['votant'];

      for (var i = 0; i < _votants.length; i++) {
        Map<String, dynamic> _votant = _votants[i];
        // print("---- GroupVotesFromJson.fromFrenchNationalAssemblyJson - 6d");

        _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
            _votant, "pours"));
      }
    } else if (this.votedFor != null) {
      Map<String, dynamic> _votant = _voteResult['votant'];
      _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
          _votant, "pours"));
    }
  }
  if (_decompteNominatif['contres'] != null) {
    // print("----- CONTRES not null");
    Map<String, dynamic> _voteResult = _decompteNominatif['contres'];
    if (this.votedAgainst != null &&
        _voteResult['votant'].toString().substring(0, 1) == "[") {
      List<dynamic> _votants = _voteResult['votant'];

      for (var i = 0; i < _votants.length; i++) {
        Map<String, dynamic> _votant = _votants[i];
        //  print("---- GroupVotesFromJson.fromFrenchNationalAssemblyJson - 7d");

        _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
            _votant, "contres"));
      }
    } else if (this.votedAgainst != null) {
      Map<String, dynamic> _votant = _voteResult['votant'];
      _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
          _votant, "contres"));
    }
  }
  if (_decompteNominatif['abstentions'] != null) {
    // print("----- ABSTENTION not null");
    Map<String, dynamic> _voteResult = _decompteNominatif['abstentions'];
    if (this.votedAbstention != null &&
        _voteResult['votant'].toString().substring(0, 1) == "[") {
      List<dynamic> _votants = _voteResult['votant'];

      for (var i = 0; i < _votants.length; i++) {
        Map<String, dynamic> _votant = _votants[i];

        _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
            _votant, "abstentions"));
      }
    } else if (this.votedAbstention != null) {
      Map<String, dynamic> _votant = _voteResult['votant'];
      _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
          _votant, "abstentions"));
    }
  }
  if (_decompteNominatif['nonVotants'] != null) {
    // print("----- NV not null");
    Map<String, dynamic> _voteResult = _decompteNominatif['nonVotants'];
    if (this.didNotVote != null &&
        _voteResult['votant'].toString().substring(0, 1) == "[") {
      List<dynamic> _votants = _voteResult['votant'];

      for (var i = 0; i < _votants.length; i++) {
        Map<String, dynamic> _votant = _votants[i];

        _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
            _votant, "nonVotants"));
      }
    } else if (this.didNotVote != null) {
      Map<String, dynamic> _votant = _voteResult['votant'];
      _toPass.add(IndividualVoteFromJson.fromFrenchNationalAssemblyJson(
          _votant, "nonVotants"));
    }
  }

  this.individualVotesDetails = _toPass;
}