예제 #1
0
 /// <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();
        }
예제 #3
0
        /// <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;
            }
        }
예제 #5
0
        /// <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();
            }
        }