/// <summary> /// Méthode permettant d'éditer les propriétés d'un examen d'un module d'une UE /// </summary> /// <param name="sender">lbExamens</param> /// <param name="e">Un double click (event)</param> private void EditerNoteExamen(object sender, MouseButtonEventArgs e) { // on récupère l'UE sélectionnée UE ueSelected = lbUE.SelectedItem as UE; // on récupère le module sélectionné Module moduleSelected = lbModules.SelectedItem as Module; // on récupère l'examen sélectionnée Examen examenSelected = lbExamens.SelectedItem as Examen; // UE non nulle ? if (ueSelected != null) { // module non nul ? if (moduleSelected != null) { // examen non nul ? if (examenSelected != null) { // on crée une fenêtre à partir de la Note de l'examen EditionWindowExamen fen = new EditionWindowExamen(examenSelected.Note); // on pré-remplit le champ tbNote avec la note obtenue à l'examen fen.tbNote.Text = examenSelected.Note.Valeur.ToString().Replace(",", "."); // si l'étudiant était absent à l'examen if (examenSelected.Note.Absent == true) { // on coche le radiobutton absent fen.rbAbsent.IsChecked = true; } // si l'étudiant n'était pas absent à l'examen if (examenSelected.Note.Absent == false) { // on coche le radiobutton présent fen.rbPresent.IsChecked = true; } // si la fenêtre est fermée if (fen.ShowDialog() == true) { // si le radiobutton absent était checké if (fen.rbAbsent.IsChecked == true) { // on change la valeur de l'attribut absent, ce qui passe la note à 0 examenSelected.Note.Absent = true; } // si le radiobutton présent était checké if (fen.rbPresent.IsChecked == true) { // on passe la valeur de l'attribut absent à faux examenSelected.Note.Absent = false; } // on gère l'affichage : réactualisation this.lbExamens.Items.Clear(); foreach (Examen ex in moduleSelected.ListerExamens()) { this.lbExamens.Items.Add(ex); } } } } } }
/// <summary> /// permet de créer un examen dans un module /// </summary> /// <param name="sender">Bouton ajout d'examen</param> /// <param name="e">Click</param> private void CreationExamenModule(object sender, RoutedEventArgs e) { // booléen permettant de récupérer la présence de l'étudiant (absent ou non) bool abs = false; // on récupère l'UE sélectionné UE ueSelected = lbUE.SelectedItem as UE; // on récupére le module sélectionné Module moduleSelected = lbModules.SelectedItem as Module; // si l'UE n'est pas nulle if (ueSelected != null) { // si le module n'est pas nul if (moduleSelected != null) { // On crée une note pour le binding Note n = new Note(0); // on crée une nouvelle fenêtre à partir de la note EditionWindowExamen fen = new EditionWindowExamen(n); // si la fenêtre est fermée if (fen.ShowDialog() == true) { // si le RadioButton rbAbsent était coché if (fen.rbAbsent.IsChecked == true) { // l'étudiant est noté absent abs = true; } // on crée un examen à partir de la valeur de la note récupérée via le binding Examen ex = new Examen(n.Valeur); // on attribue la valeur abs à l'attribut Absent de la note ex.Note.Absent = abs; // on ajoute l'examen à la liste des examens du module moduleSelected.AjouterExamenModule(ex); // on l'affiche this.lbExamens.Items.Add(ex); } } } }