private void AjouterCompetiteur()
        {
            bool estValide = true;

            var newCompetiteur = new Competiteur()
            {
                Club   = NouveauCompetiteurClub,
                Nom    = NouveauCompetiteurNom,
                Prenom = NouveauCompetiteurPrenom,
            };

            try
            {
                newCompetiteur.Categorie = ListeCategories.FirstOrDefault(c => c.ToString().Equals(NouveauCompetiteurCategorie));
            }
            catch (Exception)
            {
                estValide = false;
                //MessageBox.Show("Catégorie non selectionnée", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }

            if (!String.IsNullOrWhiteSpace(NouveauCompetiteurPoids))
            {
                try
                {
                    NouveauCompetiteurPoids = NouveauCompetiteurPoids.Replace('.', ',');
                    newCompetiteur.Poids    = Convert.ToDouble(NouveauCompetiteurPoids);
                }
                catch (FormatException)
                {
                    estValide = false;
                    //MessageBox.Show("Poids invalide", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
                }
            }

            //Infos  de la barre à curseur glissant qui itère entre 0 (masculin) et 1 (féminin)
            switch (NouveauCompetiteurSexe)
            {
            case 0:
                newCompetiteur.Sexe = Sexes.M;
                break;

            case 1:
            {
                estValide = false;
                //MessageBox.Show("Sexe invalide", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error);
            }
            break;

            case 2:
                newCompetiteur.Sexe = Sexes.F;
                break;
            }

            if (NouveauCompetiteurEstPresent)
            {
                newCompetiteur.EstPresent = true;
            }
            else
            {
                newCompetiteur.EstPresent = false;
            }

            if (estValide)
            {
                //grilleCompetiteurs.DataContext = donnee.ListeCompetiteurs;
                Donnee.ListeCompetiteurs.Add(newCompetiteur);
                ResetChampsNouveauCompetiteur();
                OnPropertyChanged("ListeClubs");
                OnPropertyChanged("StatsCompetiteursPresents");
                OnPropertyChanged("StatsCompetiteursInscrits");
                OnPropertyChanged("ListeCompetiteurs");
                //affichageSelectif();
            }
        }
        private void ImprimerGroupes()
        {
            if (Donnee.ListeCompetiteurs.Any(c => c.PourImpression && c.Poule == null))
            {
                List <Competiteur> competiteursNonValides = Donnee.ListeCompetiteurs.Where(c => c.PourImpression && c.Poule == null).ToList();
                competiteursNonValides.OrderBy(c => c.Nom);
                MessageBox.Show(String.Format("{0}{1}Nom : {2}", "Des competiteurs ne sont pas présents", Environment.NewLine, string.Join(" ,", competiteursNonValides.Select(c => c.Nom)), "Erreur", MessageBoxButton.OK, MessageBoxImage.Error));
            }
            else
            {
                var listegroupes = new List <int>();

                foreach (var competiteur in Donnee.ListeCompetiteurs.Where(c => c.PourImpression))
                {
                    if (competiteur.Poule != null)
                    {
                        if (!listegroupes.Any(c => c == competiteur.Poule))
                        {
                            listegroupes.Add((int)competiteur.Poule);
                        }
                    }
                }

                var lesGroupes = new List <Groupe>();

                foreach (var groupe in listegroupes)
                {
                    var groupeTemp = new Groupe()
                    {
                        MaxCompetiteursParPoule = Donnee.NombreParPoule, id = groupe
                    };

                    groupeTemp.Competiteurs.AddRange(Donnee.ListeCompetiteurs.Where(c => c.Poule == groupe && c.PourImpression));

                    groupeTemp.Categorie   = ListeCategories.First(c => c == groupeTemp.Competiteurs.First().Categorie);
                    groupeTemp.TempsCombat = Donnee.TempsCombat.ToDictionary().First(k => k.Key == groupeTemp.Categorie).Value;
                    groupeTemp.TempsImmo   = Donnee.TempsImmo.ToDictionary().First(k => k.Key == groupeTemp.Categorie).Value;


                    lesGroupes.Add(groupeTemp);
                }
                if (lesGroupes.Count > 0)
                {
                    if (!lesGroupes.Any(g => !g.EstValide))
                    {
                        var fenetreImpression = new FenetreImpression(lesGroupes, Donnee.NomCompetition, Donnee.DateCompetition);
                        fenetreImpression.ShowDialog();
                    }
                    else
                    {
                        List <int> listeGroupesNonValides = lesGroupes.Where(g => !g.EstValide).Select(g => g.id).ToList();
                        listeGroupesNonValides.Sort();
                        MessageBox.Show(String.Format("{0}{1}Poules n° : {2}", "Des poules ont un mauvais nombre de compétiteurs ", Environment.NewLine, string.Join(", ", listeGroupesNonValides), "Erreur", MessageBoxButton.OK, MessageBoxImage.Error));
                    }
                }
                else
                {
                    MessageBox.Show(String.Format("Aucun de groupe cochés pour l'impression", "Erreur", MessageBoxButton.OK, MessageBoxImage.Error));
                }
            }
        }