private void button1_Click(object sender, EventArgs e)
        {
            if (this.dataGridView1.SelectedRows.Count == 0)
            {
                MessageBox.Show("Veuillez sélectionner un résultat");
            }
            else
            {
                DataGridViewRow ligneSelectionnee = this.dataGridView1.SelectedRows[0];
                // Si la page à été lancée à partir de la page d'informations de courses et donc que l'on a l'id de la course dont on veut modifier le resultat

                int idCourse  = Convert.ToInt32(ligneSelectionnee.Cells[0].Value);
                int idCoureur = coureur.NumLicence;
                //Supression du résultat
                resultatRep.Delete(resultatRep.listeResultat(idCourse, idCoureur)[0]);
                List <Resultat> resultatATrier = new List <Resultat>();
                foreach (Resultat resultat1 in resultatRep.ListeResultatsCourse(idCourse))
                {
                    resultatATrier.Add(resultat1);
                }
                int             classement = 1;
                List <Resultat> SortedList = resultatATrier.OrderBy(o => o.TempsEnSecondes).ToList();
                foreach (Resultat resultat1 in SortedList)
                {
                    resultat1.Classement = classement;
                    resultatRep.Save(resultat1);
                    classement++;
                }

                this.dataGridView1.Rows.Clear();
                this.dataGridView1.Refresh();
                AfficherContenu();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Fonction permettant de refresh l'ensemble des gridview selon les modifications faites.tyr
        /// </summary>
        public void AfficherContenu()
        {
            // On nettoie les 2 dataGridView
            dataG.Rows.Clear();
            dataG.Refresh();
            dataGridViewParticipants.Rows.Clear();
            dataGridViewParticipants.Refresh();
            dataGridViewLicencies.Rows.Clear();
            dataGridViewLicencies.Refresh();

            // On remplit le datagridView de la page d'accueil avec toutes les courses en bdd
            foreach (Course course in this.courseRep.GetAll())
            {
                string[] resultat = { course.Id.ToString(), course.Date.ToString(), course.Lieu, course.Distance.ToString(), Convert.ToString(resultatRep.ListeResultatsCourse(course.Id).Count) };
                dataG.Rows.Add(resultat);
            }

            // On remplit le dataGridView des coureurs non participnts à la course sélectionnée
            foreach (Coureur coureur in listeCoureursNonParticipants)
            {
                string[] resultat = { coureur.NumLicence.ToString(), coureur.Nom };
                this.dataGridViewLicencies.Rows.Add(resultat);
            }

            // Idem avec les coureurs participants à la course sélectionnée
            foreach (Coureur coureur in this.listeCoureursParticipants)
            {
                string[] resultat = { coureur.NumLicence.ToString(), coureur.Nom };
                this.dataGridViewParticipants.Rows.Add(resultat);
            }
        }
Esempio n. 3
0
        /// <summary>
        /// Fonction permettant de remplir les datagridview de la page d'accueil
        /// </summary>
        public void AfficherContenu()
        {
            // Pour chaque coureur en bdd
            foreach (Coureur coureur in this.coureurRepository.GetAll())
            {
                // On rempli le datagridview
                string[] resultat = { coureur.NumLicence.ToString(), coureur.Nom, coureur.Prenom, coureur.DateDeNaissance.ToString() };
                dataGridViewCoureurs.Rows.Add(resultat);
            }

            // Pour chaque course
            foreach (Course course in this.courseRepository.GetAll())
            {
                // On remplit le datagridview
                string[] resultat = { course.Id.ToString(), course.Date.ToString(), course.Lieu, course.Distance.ToString(), Convert.ToString(resultatRepository.ListeResultatsCourse(course.Id).Count) };
                dataGridViewCourses.Rows.Add(resultat);
            }
        }
        /// <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();
        }
Esempio n. 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();
            }
        }