/// <summary> /// Méthode servant à ajouter un volontaire dans la BD /// </summary> private void btnAddVolontaire_Click(object sender, RoutedEventArgs e) { AjouterVolontaire av = new AjouterVolontaire(LstVolontaires.ToList()); av.ShowDialog(); if (av.LeVolontaire != null) { LstVolontaires.Add(av.LeVolontaire); av.LeVolontaire.Insert(); } }
/// <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(); } }