/// <summary> /// Constructeur lors d'une modification de course /// </summary> /// <param name="d">Référence au DataGridView de la page d'accueil pour le modifier</param> /// <param name="collectionLignesSelec"> Ligne sélectionnée dans le dataGridView </param> public NouvelleCourse(ref DataGridView d, DataGridViewSelectedRowCollection collectionLignesSelec) { // Récupère la ligne sélectionnée DataGridViewRow ligneSelectionnee = collectionLignesSelec[0]; this.idCourseSelectionnee = Convert.ToInt32(ligneSelectionnee.Cells[0].Value); this.dataG = d; this.modification = true; InitializeComponent(); //Récupère la course que l'on souhaite modifier courseAModifier = courseRep.GetCourse(this.idCourseSelectionnee); bool trouve; // Remplit les participants et non participants foreach (Coureur coureur in coureurRep.GetAll()) { trouve = false; foreach (Resultat resultat in resultatRep.GetAll()) { if (resultat.LeCoureur == coureur && resultat.LaCourse == courseAModifier) { trouve = true; } } if (trouve) { listeCoureursParticipants.Add(coureur); } else { listeCoureursNonParticipants.Add(coureur); } } this.textBoxLieu.Text = courseAModifier.Lieu; this.textBoxDist.Text = courseAModifier.Distance.ToString(); this.dateTimePicker.Value = courseAModifier.Date; //this.richTextBoxDesc - Pour le moment on ne peut pas... manque un assembly this.buttonAjouter.Text = "Modifier"; AfficherContenu(); }
/// <summary> /// PErmet de gérer les affichages et les listes /// </summary> public void AfficherContenu() { // Si on part de la course dans la page précédente if (courseConnue) { listeCoureurs = coureurRep.GetAll(); foreach (Coureur coureur in listeCoureurs) { bool existe = false; // Vérification : Si le résultat existe et donc que le coureur est participant à la course foreach (Resultat resultat in resultatRep.GetAll()) { if (coureur == resultat.LeCoureur) { existe = true; } } if (!existe) { // Sinon on le place dans la liste des non participants listeCoureursNonParticipants.Add(coureur); } } } else { // On récupère la liste des courses en bdd listeCourses = courseRep.GetAll(); //Pour chaque course foreach (Course course in listeCourses) { bool existe = false; //On vérifie dans chaque résultat de la bdd foreach (Resultat resultat in resultatRep.GetAll()) { // Si le coureur sélectionné dans la gridview de la page précédente à déjà un résultat pour la course on ne fait rien if (course == resultat.LaCourse && resultat.LeCoureur == coureurRep.ListeCoureur(coureur.NumLicence)[0]) { existe = true; } } // Sinon on l'ajout dans la liste des courses non participées par le coureur if (!existe) { listeCoursesNonParticipees.Add(course); } } } }
public void GetAllTest() { string attendu = "Participant : Jean - Course : 300"; // Sauvegarde du participant Participant p = new Participant("Jean", "Claude", "jc", new DateTime(2001, 01, 01), "M"); Participant p2 = new Participant("Van", "Dam", "vd", new DateTime(2001, 01, 01), "M"); ParticipantRepository pr = new ParticipantRepository(); pr.Save(p); pr.Save(p2); List <Participant> participants = pr.GetAll(); //Sauvegarde de la course Course c = new Course(300); CourseRepository cr = new CourseRepository(); cr.Save(c); List <Course> courses = cr.GetAll(); //Sauvegarde du résultat Resultat r = new Resultat(p, c, new DateTime(2001, 10, 10, 00, 00, 23)); Resultat r2 = new Resultat(p2, c, new DateTime(2001, 10, 10, 00, 00, 55)); c.ClasserResultats(); ResultatRepository rr = new ResultatRepository(); rr.Save(r); rr.Save(r2); List <Resultat> resultats = rr.GetAll(); string sortie = r.ToString(); //test Assert.AreEqual(attendu, sortie); }