Esempio n. 1
0
        private void buttonSuppression_Click(object sender, EventArgs e)
        {
            // Si aucune course et aucun coureur n'ont été séléctionnés
            if (this.dataGridViewCourses.SelectedRows.Count == 0 && this.dataGridViewCoureurs.SelectedRows.Count == 0)
            {
                MessageBox.Show("Veuillez sélectionner une course ou un coureur");
            }
            else
            {
                // Si on est dans l'onglet Courses
                if (this.TabCoureurs.SelectedIndex == 0)
                {
                    //Stockage de la ligne sélectionnée
                    DataGridViewRow ligneSelectionnee = this.dataGridViewCourses.SelectedRows[0];
                    //Récupération de l'id de la course sélectionnée
                    Course course = courseRepository.GetListCourse(Convert.ToInt32(ligneSelectionnee.Cells[0].Value))[0];
                    //Suppression de tous les résultats liés à la course
                    foreach (Resultat resultat in resultatRepository.ListeResultatsCourse(course.Id))
                    {
                        resultatRepository.Delete(resultat);
                    }
                    // Suppression de la course
                    courseRepository.Delete(course);
                }
                else
                {
                    // Récupération de la ligne sélectionnée
                    DataGridViewRow ligneSelectionnee = this.dataGridViewCoureurs.SelectedRows[0];
                    // Récupération ddu coureur
                    Coureur coureur = coureurRepository.ListeCoureur(Convert.ToInt32(ligneSelectionnee.Cells[0].Value))[0];

                    // Lancement de la page de résultat
                    //Suppression de tous les résultats liés au coureur
                    foreach (Resultat resultat1 in resultatRepository.ListeResultatsCoureur(coureur.NumLicence))
                    {
                        resultatRepository.Delete(resultat1);
                    }
                    // Suppression de la course
                    coureurRepository.Delete(coureur);
                }
            }

            // Gestion des classements après la suppression
            List <Resultat> listeResultatsATrier = new List <Resultat>();

            foreach (Course course1 in courseRepository.GetAll())
            {
                int classement = 1;
                listeResultatsATrier.Clear();
                foreach (Resultat resultat1 in resultatRepository.ListeResultatsCourse(course1.Id))
                {
                    listeResultatsATrier.Add(resultat1);
                }
                List <Resultat> SortedList = listeResultatsATrier.OrderBy(o => o.TempsEnSecondes).ToList();

                foreach (Resultat resultat1 in SortedList)
                {
                    resultat1.Classement = classement;
                    classement++;
                }
            }
            this.dataGridViewCoureurs.Rows.Clear();
            this.dataGridViewCoureurs.Refresh();
            this.dataGridViewCourses.Rows.Clear();
            this.dataGridViewCourses.Refresh();
            AfficherContenu();
        }