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)); } } }