/// <summary> /// Méthode servant à supprimer un volontaire dans la BD /// </summary> private void miSupprimer_Click(object sender, RoutedEventArgs e) { // Le sender est le menu item MenuItem mi = sender as MenuItem; // On va chercher le parent du menu item (c'est donc le ContextMenu) ContextMenu cm = mi.Parent as ContextMenu; // Avec le ContextMenu, on peut aller chercher la datagrid DataGrid dg = cm.PlacementTarget as DataGrid; // On va chercher le volontaire Volontaire v = dg.SelectedItem as Volontaire; MessageBoxResult mbr = MessageBox.Show("Êtes-vous certain de vouloir supprimer le volontaire? Ceci entraînera des changements irréversibles dans la base de données.", "Supprimer", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No); if (mbr == MessageBoxResult.Yes) { ((Tournoi)DataContext).LstVolontaires.Remove(v); // Supprimer le volontaire LstVolontaires.Remove(v); // Supprimer dans la BD v.Delete(); } }
/// <summary> /// Constructeur pour modifier un volontaire /// </summary> /// <param name="v">Volontaire à modifier</param> /// <param name="volontaires">Liste des autres volontaires</param> public AjouterVolontaire(Volontaire v, List <Volontaire> volontaires) { // Liste des volontaires (pour tester les champs uniques) this.volontaires = volontaires; InitializeComponent(); txtMatricule.IsReadOnly = true; // On ne peut pas modifier le matricule // Cacher le champ de mot de passe lblMotDePasse.Visibility = Visibility.Hidden; txtMotDePasse.Visibility = Visibility.Hidden; // Monter le champ email + le bouton lblEmail.Margin = new Thickness(22.5, 275, 0, 0); txtEmail.Margin = new Thickness(150, 275, 0, 0); btnEnregistrer.Margin = new Thickness(0, 325, 0, 0); // Changer la hauteur de la fenêtre win.Height = 400; lblTitre.Content = "Modifier un volontaire"; VolontaireTemp = new Volontaire(v.Nom, v.Prenom, v.Matricule, v.Courriel, v.NomUtilisateur); VolontaireTemp.MotDePasse = "test"; // il faut mettre du texte dans le champs motdepasse ou cela nous retourne l'erreur disant que le champ est vide DataContext = VolontaireTemp; }
/// <summary> /// Constructeur pour créer un volontaire /// </summary> /// <param name="volontaires">Liste des autres volontaires</param> public AjouterVolontaire(List <Volontaire> volontaires) { // Liste des volontaires (pour tester les champs uniques) this.volontaires = volontaires; InitializeComponent(); // Modifier le titre lblTitre.Content = "Nouveau volontaire"; VolontaireTemp = new Volontaire(null, null, null, null, null); DataContext = VolontaireTemp; }
/// <summary> /// Méthode servant à ouvrir la fenêtre de modification d'un volontaire /// </summary> private void miModifier_Click(object sender, RoutedEventArgs e) { // Le sender est le menu item MenuItem mi = sender as MenuItem; // On va chercher le parent du menu item (c'est donc le ContextMenu) ContextMenu cm = mi.Parent as ContextMenu; // Avec le ContextMenu, on peut aller chercher la datagrid DataGrid dg = cm.PlacementTarget as DataGrid; // On va chercher le volontaire Volontaire v = dg.SelectedItem as Volontaire; // Le deuxième paramètre sert à passer une liste de volontaire (sauf le volontaire concerné) pour tester l'unicité des champs AjouterVolontaire av = new AjouterVolontaire(v, LstVolontaires.Where(x => x != v).ToList()); av.ShowDialog(); // Si on décide de l'enregistrer... if (av.LeVolontaire != null) { // Trouver l'index de v int index = LstVolontaires.IndexOf(v); if (index != -1) { // Modifier le volontaire à cet index LstVolontaires[index] = av.LeVolontaire; } index = (DataContext as Tournoi).LstVolontaires.IndexOf(v); if (index != -1) { (DataContext as Tournoi).LstVolontaires[index] = av.LeVolontaire; } // Modifier le volontaire dans la BD av.LeVolontaire.Update(); } }