getJsonIndividualVotes method
Inside the ScrutinFromJson, reorder the Groups and INdividual Votes for Assembly display
Implementation
Future<List<IndividualVotes>> getJsonIndividualVotes(
ScrutinFromJson scrutin, bool? hiliteFronde) async {
List<IndividualVotes> votesList = [];
if (scrutin.groupVotesDetails != null) {
// print("—————national_assembly_france_hemicycle————— ••••• STEP 4");
if (scrutin.groupVotesDetails!.length > 0) {
// print("—————national_assembly_france_hemicycle————— ••••• STEP 5");
List<GroupVotesFromJson> _reorder = scrutin.groupVotesDetails!;
_reorder.sort();
int indexIncrement = 0;
for (var i = 0; i < _reorder.length; i++) {
if (_reorder[i].individualVotesDetails != null) {
// print("—————national_assembly_france_hemicycle————— ••••• STEP 6 @ " + i.toString());
if (_reorder[i].individualVotesDetails!.length > 0) {
// print("—————national_assembly_france_hemicycle————— ••••• STEP 7");
int groupIncrement = 0;
int groupNumber = _reorder[i].nbMembers ?? 0;
for (var j = 0;
j < _reorder[i].individualVotesDetails!.length;
j++) {
indexIncrement += 1;
groupIncrement += 1;
IndividualVoteFromJson element =
_reorder[i].individualVotesDetails![j];
votesList.add(IndividualVotes(indexIncrement,
voteResult: element.votedFor ?? false
? true
: element.votedAgainst ?? false
? false
: element.votedAbstention ?? false
? null
: element.didNotVote ?? false
? null
: null,
groupPairing: _reorder[i].organeRef));
}
if (groupNumber > groupIncrement) {
for (var z = 0; z < groupNumber - groupIncrement; z++) {
indexIncrement += 1;
if (hiliteFronde ?? false) {
votesList.add(IndividualVotes(indexIncrement,
voteResult: null, groupPairing: _reorder[i].organeRef));
}
}
}
/*
print("groupNumber = " +
groupNumber.toString() +
" / groupIncrement = " +
groupIncrement.toString() +
" /// indexIncrement = " +
indexIncrement.toString());
*/
}
}
}
}
}
return votesList;
// print("—————national_assembly_france_hemicycle————— ••••• getJsonScrutin OVER");
}