/// <summary> /// Fonction gérant les affichages dans la page /// </summary> public void AfficherContenu() { foreach (Resultat resultat in this.resultatRep.ListeResultatsCourse(this.idCourseSelectionnee)) { Coureur coureur = coureurRep.ListeCoureur(resultat.LeCoureur.NumLicence)[0]; int age = coureur.CalculAge(coureur); string[] res = { resultat.Classement.ToString(), resultat.Temps.ToString(), resultat.NumDossard.ToString(), coureur.NumLicence.ToString(), coureur.Nom, coureur.Prenom, resultat.VitesseMoyenne.ToString(), resultat.AllureMoyenne.ToString(), coureur.Sexe, age.ToString() }; dataGridView1.Rows.Add(res); } }
/// <summary> /// Fonction qui gère la validation de modification du résultat /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonValider_Click(object sender, EventArgs e) { //Remplissage du resultat à renvoyer List <Resultat> listeResultats = new List <Resultat>(); int classement = 1; resultat.NumDossard = Convert.ToInt32(this.textBoxDossard.Text); resultat.Temps = TimeSpan.Parse(this.textBoxTemps.Text); resultat.TempsEnSecondes = resultat.CalculTempsEnSeconde(resultat.Temps); resultat.AllureMoyenne = resultat.CalculAllureMoyenne(resultat.LaCourse.Distance); resultat.VitesseMoyenne = resultat.CalculVitesseMoyenne(resultat.LaCourse.Distance); // On ajoute tous les résultats de la course dans une liste foreach (Resultat resultat in resultatRep.ListeResultatsCourse(resultat.LaCourse.Id)) { listeResultats.Add(resultat); } // On classe les résultats par temps et on met à jour le classement List <Resultat> SortedList = listeResultats.OrderBy(o => o.TempsEnSecondes).ToList(); foreach (Resultat resultat in SortedList) { resultat.Classement = classement; classement++; } resultatRep.Save(resultat); d.Rows.Clear(); d.Refresh(); if (APArtirDeInfoCourse) { // On met à jour l'affichage dans les gridviews foreach (Resultat resultat in this.resultatRep.ListeResultatsCourse(IdDonne)) { Coureur coureur = coureurRep.ListeCoureur(resultat.LeCoureur.NumLicence)[0]; int age = coureur.CalculAge(coureur); string[] res = { resultat.Classement.ToString(), resultat.Temps.ToString(), resultat.NumDossard.ToString(), coureur.NumLicence.ToString(), coureur.Nom, coureur.Prenom, resultat.VitesseMoyenne.ToString(), resultat.AllureMoyenne.ToString(), coureur.Sexe, age.ToString() }; d.Rows.Add(res); } } else { foreach (Resultat resultat in this.resultatRep.ListeResultatsCoureur(IdDonne)) { Course course = courseRep.GetCourse(resultat.LaCourse.Id); string[] res = { course.Id.ToString(), course.Lieu, course.Date.Day.ToString() + "-" + course.Date.Month.ToString() + "-" + course.Date.Year.ToString(), course.Distance.ToString(), resultat.Classement.ToString(), resultat.NumDossard.ToString(), resultat.AllureMoyenne.ToString(), resultat.VitesseMoyenne.ToString() }; d.Rows.Add(res); } } this.Close(); }
/// <summary> /// Fonction permettant d'afficher les résultats en fonction de l'âge des coureurs /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonValider_Click(object sender, EventArgs e) { this.dataGridView1.Rows.Clear(); this.dataGridView1.Refresh(); int ageMin = 0; int ageMax = 0; // Si les deux textBox sont bien remplis if (this.comboBox1.Text != "" && this.comboBox2.Text != "") { //Pour chaque résultat foreach (Resultat resultat in this.resultatRep.ListeResultatsCourse(this.idCourseSelectionnee)) { Coureur coureur = coureurRep.ListeCoureur(resultat.LeCoureur.NumLicence)[0]; int age = coureur.CalculAge(coureur); if (this.comboBox1.SelectedIndex == 0) { ageMin = 10; } else { ageMin = (comboBox1.SelectedIndex + 1) * 10; } if (this.comboBox1.SelectedIndex == 0) { ageMax = 20; } else { ageMax = (comboBox2.SelectedIndex + 2) * 10; } if (age >= ageMin && age < ageMax) { string[] res = { resultat.Classement.ToString(), resultat.Temps.ToString(), resultat.NumDossard.ToString(), coureur.NumLicence.ToString(), coureur.Nom, coureur.Prenom, resultat.VitesseMoyenne.ToString(), resultat.AllureMoyenne.ToString(), coureur.Sexe, age.ToString() }; dataGridView1.Rows.Add(res); } } } }
/// <summary> /// Constructeur de la classe /// </summary> /// <param name="numLicence"></param> public InformationsCoureurs(int numLicence) { InitializeComponent(); // Récupération du coureur sélectionné dans le DataGridView de la page d'accueil coureur = coureurRep.ListeCoureur(numLicence)[0]; // Remplisage des différents labels selon les informations contenues dans l'objet coureur this.labelNomPrenom.Text = coureur.Nom + " " + coureur.Prenom; this.labelNumLicence.Text = Convert.ToString(coureur.NumLicence); this.labelSexe.Text = coureur.Sexe; int age = coureur.CalculAge(coureur); this.labelAge.Text = Convert.ToString(age) + "ans"; AfficherContenu(); // Si pas identifié, boutons non visibles if (Accueil.identifiantEnregistre == "") { this.buttonModifierResultat.Visible = false; this.buttonModifierResultat.Enabled = false; this.buttonNouveauResultat.Visible = false; this.buttonNouveauResultat.Enabled = false; this.buttonSuppression.Visible = false; this.buttonSuppression.Enabled = false; } }
/// <summary> /// Fonction permettant de gérer l'ajout d'un résultat /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void buttonValider_Click(object sender, EventArgs e) { // Si les champs n'ont pas été remplis if ((this.comboBox1.Text == "") || this.textBoxDossard.Text == "") { MessageBox.Show("Veuillez remplir les champs !"); } //sinon else { // L'index du choix du comboBox est sauvegardé int choix = this.comboBox1.SelectedIndex; Resultat resultat = new Resultat(); if (courseConnue) // Si on part de la page informationCourse { resultat.LaCourse = course; // Le comboBox contient le coureur, on l'utilise donc pour remplir LeCoureur du résultat resultat.LeCoureur = listeCoureursNonParticipants[choix]; } else { // Le comboBox contient la course, on l'utilise donc pour remplir LaCourse du résultat resultat.LaCourse = listeCoursesNonParticipees[choix]; resultat.LeCoureur = coureur; } if (this.textBoxDossard.Text != "") { resultat.NumDossard = Int32.Parse(this.textBoxDossard.Text); } // On parse le texte du textbox de temps et on le met dans Temps du résultat resultat.Temps = TimeSpan.Parse(this.textBox1.Text); int age; // Remplissage des données de résultat resultat.TempsEnSecondes = resultat.CalculTempsEnSeconde(resultat.Temps); resultat.AllureMoyenne = resultat.TempsEnSecondes / 60 / resultat.LaCourse.Distance / 1000; //resultat.VitesseMoyenne = resultat.CalculVitesseMoyenne(course.Distance); resultat.VitesseMoyenne = resultat.LaCourse.Distance / 1000 / resultat.TempsEnSecondes / 60 / 60; // Gestion du classement List <Resultat> listeResultats = new List <Resultat>(); int classement = 1; //On ajoute tous les résultats de la course sélectionnée dans une liste de résultats foreach (Resultat resultat1 in resultatRep.ListeResultatsCourse(resultat.LaCourse.Id)) { listeResultats.Add(resultat1); } listeResultats.Add(resultat); // On trie la liste précédente en fonction des temps effectués List <Resultat> SortedList = listeResultats.OrderBy(o => o.TempsEnSecondes).ToList(); foreach (Resultat resultat1 in SortedList) { // On met à jour les classements resultat1.Classement = classement; classement++; resultatRep.Save(resultat1); } // On sauvegarde les résultats resultatRep.Save(resultat); if (courseConnue) { //On efface toutes les données de la GridView de la page informations d.Rows.Clear(); d.Refresh(); // Pour chaque résultat concernant la course sélectionnée foreach (Resultat resultat1 in this.resultatRep.ListeResultatsCourse(course.Id)) { // On ajoute la ligne au DataGridView Coureur coureur = coureurRep.ListeCoureur(resultat1.LeCoureur.NumLicence)[0]; age = coureur.CalculAge(coureur); string[] res1 = { resultat1.Classement.ToString(), resultat1.Temps.ToString(), resultat1.NumDossard.ToString(), coureur.NumLicence.ToString(), coureur.Nom, coureur.Prenom, resultat1.VitesseMoyenne.ToString(), resultat1.AllureMoyenne.ToString(),coureur.Sexe, age.ToString() }; d.Rows.Add(res1); } } else { //Mise à jour de l'affichage du GridView des resultats par coureur pour le coureur sélectionné sur la page d'accueil d.Rows.Clear(); d.Refresh(); foreach (Resultat resultat1 in this.resultatRep.ListeResultatsCoureur(coureur.NumLicence)) { Course course = courseRep.GetCourse(resultat1.LaCourse.Id); string[] res = { course.Id.ToString(), course.Lieu, course.Date.Day.ToString() + "-" + course.Date.Month.ToString() + "-" + course.Date.Year.ToString(), resultat1.Classement.ToString(), resultat.NumDossard.ToString(), course.Distance.ToString(), resultat1.AllureMoyenne.ToString(), resultat1.VitesseMoyenne.ToString(), resultat1.Temps.ToString() }; d.Rows.Add(res); } } this.Close(); } }