Exemplo n.º 1
0
        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);
            }
        }
Exemplo n.º 2
0
        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);
        }