/// <summary> /// Constructeur de la page d'ajout de résultats /// </summary> /// <param name="dataGridView"></param> /// <param name="aPartirDeCourse"></param> /// <param name="id"></param> public AjoutResultat(ref DataGridView dataGridView, bool aPartirDeCourse, int id) { courseConnue = aPartirDeCourse; d = dataGridView; InitializeComponent(); // Si course connue et donc id = idCourse if (aPartirDeCourse) { // On récupère la course course = courseRep.GetCourse(id); // On met à jour les affichages et on remplit la liste de non participants AfficherContenu(); // On récupère l'ensemble des coureurs qui ne participent pas à la course foreach (Coureur coureur in listeCoureursNonParticipants) { // Remplissage comboBox this.comboBox1.Items.Add(coureur.NumLicence.ToString() + " - " + coureur.Nom + " " + coureur.Prenom); } } else { // Changement du titre de la page this.labelCoureurOuCourse.Text = "Course"; // On récupère le coureur que l'on veut coureur = coureurRep.ListeCoureur(id)[0]; // Gestion affichage et listes AfficherContenu(); foreach (Course course in listeCoursesNonParticipees) { this.comboBox1.Items.Add("Course n°" + course.Id.ToString() + " " + course.Lieu); } } }
/// <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 permettant de transformer une ligne CSV en un résultat et le renvoyer /// </summary> /// <param name="csvLine"></param> /// <returns></returns> public Resultat ResultatFromCsv(string csvLine) { // Séparateur string[] values = csvLine.Split(';'); Resultat resultat = new Resultat(); resultat.Temps = TimeSpan.Parse(values[0]); resultat.NumDossard = Convert.ToInt32(values[1]); resultat.LaCourse = courseRepository.GetCourse(Convert.ToInt32(values[2])); resultat.LeCoureur = coureurRepository.ListeCoureur(Convert.ToInt32(values[3]))[0]; return(resultat); }
/// <summary> /// Constructeur /// </summary> /// <param name="nom"></param> /// <param name="dossard"></param> /// <param name="idCourse"></param> public ResultatsDetaillesCoureur(string nom, int dossard, int idCourse) { InitializeComponent(); //Si le nom est vide if (nom == "") { //Récupération des résultats grâce au num de dossard et à l'id de la course resultat = resultatRep.ListeResultatAvecDossard(dossard, idCourse)[0]; coureur = coureurRep.ListeCoureur(resultat.LeCoureur.NumLicence)[0]; } //Sinon else { //On récupère les resultats et le coureur grâce à son nom coureur = coureurRep.ListeCoureurAvecNom(nom)[0]; resultat = resultatRep.listeResultat(idCourse, coureur.NumLicence)[0]; } // On remplit les labels grace au résultat et au coureur sélectionnés this.labelClassement.Text = resultat.Classement.ToString(); this.labelDateNaissance.Text = coureur.DateDeNaissance.Day.ToString() + "-" + coureur.DateDeNaissance.Month.ToString() + "-" + coureur.DateDeNaissance.Year.ToString(); this.labelDossard.Text = resultat.NumDossard.ToString(); this.labelLicence.Text = coureur.NumLicence.ToString(); this.labelNom.Text = coureur.Nom; this.labelPrenom.Text = coureur.Prenom; this.labelSexe.Text = coureur.Sexe; this.labelAllure.Text = resultat.AllureMoyenne.ToString(); this.labelVitesse.Text = resultat.VitesseMoyenne.ToString(); this.labelTemps.Text = resultat.Temps.ToString(); }
/// <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> /// 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; } }