using Hermes.Model; using System; using System.Data.Entity; using System.Collections.Generic; using System.Windows; using System.Windows.Input; using System.Windows.Data; namespace Hermes { /// /// Logique d'interaction pour MainWindow.xaml /// public partial class MainWindow : Window { private ModelContext dbContext = null; private CitoyenModal citoyenModal = new CitoyenModal(); private PreferencesModal preferencesModal = new PreferencesModal(); private CollectionViewSource citoyenCollectionViewSource = null; public MainWindow() { dbContext = ModelContext.Getinstance(); //dbContext.Database.Log = log => System.Console.WriteLine(log); dbContext.Database.CreateIfNotExists(); InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { citoyenModal.Owner = this; preferencesModal.Owner = this; dbContext.CitoyenSet.Load(); dbContext.Preferences.Load(); citoyenCollectionViewSource = (CollectionViewSource) this.FindResource("citoyenCollectionViewSource"); citoyenCollectionViewSource.Source = dbContext.CitoyenSet.Local; //dgCitoyens.ItemsSource = dbContext.CitoyenSet.Local; } private void Options_Click(object sender, RoutedEventArgs e) { preferencesModal.ShowDialog(); } private void Ajouter_Click(object sender, RoutedEventArgs e) { citoyenModal.EnableCreateMode(); citoyenModal.ShowDialog(); } private void Supprimer_Click(object sender, RoutedEventArgs e) { if(dgCitoyens.SelectedItems.Count > 0) { MessageBoxResult result = MessageBox.Show("Voulez-vous supprimer ces citoyens ?", "Suppression", MessageBoxButton.YesNo, MessageBoxImage.Question); if(result == MessageBoxResult.Yes) { List clist = new List(); foreach(Citoyen c in dgCitoyens.SelectedItems) { clist.Add(c); } foreach(Citoyen c in clist) { dbContext.CitoyenSet.Remove(c); } dbContext.SaveChanges(); } } else { MessageBox.Show("Aucun citoyen sélectionné", "Suppression", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } private void DgCitoyen_DoubleClick(object sender, MouseButtonEventArgs e) { if(dgCitoyens.SelectedItem != null) { citoyenModal.EnableEditMode((Citoyen) dgCitoyens.SelectedItem); citoyenModal.ShowDialog(); } } private void Rechercher_Click(object sender, RoutedEventArgs e) { citoyenCollectionViewSource.Filter += new FilterEventHandler(CitoyenFilter); //citoyenCollectionViewSource.View.Refresh(); } private void Reinitialiser_Click(object sender, RoutedEventArgs e) { citoyenCollectionViewSource.Filter -= new FilterEventHandler(CitoyenFilter); //citoyenCollectionViewSource.View.Refresh(); } protected override void OnClosed(EventArgs e) { dbContext.Dispose(); base.OnClosed(e); Application.Current.Shutdown(); } private void CitoyenFilter(object sender, FilterEventArgs e) { Citoyen citoyen = (Citoyen) e.Item; e.Accepted = true; if(citoyen != null) { if(!String.IsNullOrWhiteSpace(professionFilterTextBox.Text)) { if(!citoyen.Profession.ToLower().Contains(professionFilterTextBox.Text.ToLower())) { e.Accepted = false; } } } } } }