Hermes/MainWindow.xaml.cs
2020-11-30 00:19:37 +01:00

74 lines
2.7 KiB
C#

using Hermes.Model;
using System;
using System.Data.Entity;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Input;
namespace Hermes {
/// <summary>
/// Logique d'interaction pour MainWindow.xaml
/// </summary>
public partial class MainWindow : Window {
private ModelContext dbContext = null;
private CitoyenModal citoyenModal = new CitoyenModal();
private PreferencesModal preferencesModal = new PreferencesModal();
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();
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<Citoyen> clist = new List<Citoyen>();
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();
}
}
protected override void OnClosed(EventArgs e) {
dbContext.Dispose();
base.OnClosed(e);
Application.Current.Shutdown();
}
}
}