using Microsoft.EntityFrameworkCore; using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Shapes; using WGneu.Models; namespace WGneu.Windows { /// /// Interaktionslogik für Window1.xaml /// public partial class MemberListWindow : Window { private readonly WgContext _context = new WgContext(); public MemberListWindow() { InitializeComponent(); } private void Window_Loaded(object sender, RoutedEventArgs e) { Refresh_Member_Data(); } protected override void OnClosing(CancelEventArgs e) { _context.Dispose(); base.OnClosing(e); } private void MemberList_SelectionChanged(object sender, SelectionChangedEventArgs e) { Member m = (Member) MemberList.SelectedItem; MgNr.Text = m.MgNr.ToString(); GivenName.Text = m.GivenName; FamilyName.Text = m.FamilyName; AT_Plz? p = m.PostalDest.Plz(_context); if (p != null) { Plz.Text = p.Plz.ToString(); var o = p.Orte(_context); Ort.ItemsSource = o; Ort.SelectedItem = p; } else { Ort.ItemsSource = null; Ort.SelectedItem = null; } Edit_Member.IsEnabled = true; } private void Plz_TextChanged(object sender, RoutedEventArgs e) { if (Plz.Text.Length == 4 && Plz.Text.All(char.IsDigit)) { int plz = int.Parse(Plz.Text); var o = _context.Postleitzahlen.Where(p => p.Plz == plz).ToHashSet(); Ort.ItemsSource = o; Ort.SelectedItem = null; } } private void Edit_Member_Button_Click(object sender, RoutedEventArgs e) { Member m = (Member)MemberList.SelectedItem; if (m == null) return; MemberEditWindow w = new MemberEditWindow(m, _context); w.Event += new EventHandler(Refresh_Member_Data_Event); w.Show(); } private void Add_Member_Button_Click(object sender, RoutedEventArgs e) { MemberAddWindow w = new MemberAddWindow(_context); w.Event += new EventHandler(Refresh_Member_Data_Event); w.Show(); } private void Refresh_Member_Data() { _context.Members.Load(); MemberList.ItemsSource = _context.Members.ToList(); } private void Refresh_Member_Data_Event(object sender, EventArgs e) { Refresh_Member_Data(); } } }