public async void OnNavigatedTo(NavigationEventArgs e) { ListeDesParticipants.Clear(); PointsDeLaNouvelleRonde.Clear(); RondesAccomplies.Clear(); ParametreDeLaPartie = e.Parameter as ParametrePartie; NomPartie = ParametreDeLaPartie.Partie.NomPartie; foreach (RondeModel r in ParametreDeLaPartie.Partie.Rondes) RondesAccomplies.Add(r); foreach (JoueurModel j in ParametreDeLaPartie.ListJoueurs) ListeDesParticipants.Add(j); if (ParametreDeLaPartie.Partie.IdPartie == 0) { EnregistrementNouvellePartie(); } else { PartieModel partieEnBD = await scDa.GetPartieById(ParametreDeLaPartie.Partie.IdPartie); ParametreDeLaPartie.Partie.Rondes.AddRange(partieEnBD.Rondes); foreach (RondeModel r in ParametreDeLaPartie.Partie.Rondes) RondesAccomplies.Add(r); foreach (JoueurModel j in ParametreDeLaPartie.ListJoueurs) ListeDesParticipants.Add(j); RaisePropertyChanged("RondesAccomplies"); RaisePropertyChanged("ListeDesParticipants"); } int i = 0; foreach (JoueurModel j in ListeDesParticipants) i++; for (int y = 0; y < i; y++) // Ajout des textbox permettant d'ajouter les points { RondeDuJoueurModel rdj = new RondeDuJoueurModel(); rdj.Points = 0; rdj.IdJoueur = ListeDesParticipants.ElementAt(y).IdJoueur; PointsDeLaNouvelleRonde.Add(rdj); } }
private void ajoutPoints() { RondeModel derniereRonde = null; if (RondesAccomplies.Count != 0) derniereRonde = RondesAccomplies.Last(); RondeModel nouvelleRonde = new RondeModel(); nouvelleRonde.NumRonde = 1; int i = 0; bool partieTerminee = false; foreach (var pts in PointsDeLaNouvelleRonde) { RondeDuJoueurModel nouvelleRondeDuJoueur = new RondeDuJoueurModel(); nouvelleRondeDuJoueur.NomJoueur = ParametreDeLaPartie.ListJoueurs.ElementAt(i).Nom; nouvelleRondeDuJoueur.IdJoueur = ParametreDeLaPartie.ListJoueurs.ElementAt(i).IdJoueur; if (derniereRonde == null) nouvelleRondeDuJoueur.Points = pts.Points; else nouvelleRondeDuJoueur.Points = derniereRonde.RondeDuJoueurs.ElementAt(i).Points + pts.Points; if (nouvelleRondeDuJoueur.Points > ParametreDeLaPartie.Partie.LimitePts) partieTerminee = true; nouvelleRonde.RondeDuJoueurs.Add(nouvelleRondeDuJoueur); i++; } PointsDeLaNouvelleRonde.Clear(); ParametreDeLaPartie.Partie.Rondes.Add(nouvelleRonde); if (!partieTerminee) _navigationService.NavigateTo("TableScore", ParametreDeLaPartie); else FinDePartie(nouvelleRonde); }