Refactor and Fix PLZ/Ort in MemberListWindow
This commit is contained in:
@ -11,5 +11,13 @@
|
|||||||
<ui:XamlControlsResources />
|
<ui:XamlControlsResources />
|
||||||
</ResourceDictionary.MergedDictionaries>
|
</ResourceDictionary.MergedDictionaries>
|
||||||
</ResourceDictionary>-->
|
</ResourceDictionary>-->
|
||||||
|
<DataTemplate x:Key="PostalDestComboBoxTemplate">
|
||||||
|
<StackPanel Orientation="Horizontal">
|
||||||
|
<TextBlock Text="{Binding Dest}"/>
|
||||||
|
<TextBlock Text=" ("/>
|
||||||
|
<TextBlock Text="{Binding Ort.Name}"/>
|
||||||
|
<TextBlock Text=")"/>
|
||||||
|
</StackPanel>
|
||||||
|
</DataTemplate>
|
||||||
</Application.Resources>
|
</Application.Resources>
|
||||||
</Application>
|
</Application>
|
||||||
|
@ -25,7 +25,7 @@ namespace WGneu
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MainWindow : Window
|
public partial class MainWindow : Window
|
||||||
{
|
{
|
||||||
private readonly WGContext _context = new WGContext();
|
private readonly WgContext _context = new WgContext();
|
||||||
private CollectionViewSource countryViewSource;
|
private CollectionViewSource countryViewSource;
|
||||||
public MainWindow()
|
public MainWindow()
|
||||||
{
|
{
|
||||||
|
@ -21,11 +21,11 @@ namespace WGneu
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MemberAddWindow : Window
|
public partial class MemberAddWindow : Window
|
||||||
{
|
{
|
||||||
private WGContext _context;
|
private WgContext _context;
|
||||||
private readonly Member member = new Member();
|
private readonly Member member = new Member();
|
||||||
public event EventHandler Event;
|
public event EventHandler Event;
|
||||||
|
|
||||||
public MemberAddWindow(WGContext context)
|
public MemberAddWindow(WgContext context)
|
||||||
{
|
{
|
||||||
this._context = context;
|
this._context = context;
|
||||||
|
|
||||||
|
@ -22,11 +22,11 @@ namespace WGneu
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MemberEditWindow : Window
|
public partial class MemberEditWindow : Window
|
||||||
{
|
{
|
||||||
private WGContext _context;
|
private WgContext _context;
|
||||||
private readonly Member member;
|
private readonly Member member;
|
||||||
public event EventHandler Event;
|
public event EventHandler Event;
|
||||||
|
|
||||||
public MemberEditWindow(Member member, WGContext context)
|
public MemberEditWindow(Member member, WgContext context)
|
||||||
{
|
{
|
||||||
this._context= context;
|
this._context= context;
|
||||||
this.member = member;
|
this.member = member;
|
||||||
|
@ -23,8 +23,7 @@
|
|||||||
<TextBox x:Name="FamilyName" HorizontalAlignment="Left" Margin="351,129,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="183" IsReadOnly="True"/>
|
<TextBox x:Name="FamilyName" HorizontalAlignment="Left" Margin="351,129,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="183" IsReadOnly="True"/>
|
||||||
<Button x:Name="Edit_Member" Content="Mitglied bearbeiten" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="130,407,0,20" Click="Edit_Member_Button_Click" IsEnabled="False" FontSize="14" Padding="3,3,3,3"/>
|
<Button x:Name="Edit_Member" Content="Mitglied bearbeiten" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="130,407,0,20" Click="Edit_Member_Button_Click" IsEnabled="False" FontSize="14" Padding="3,3,3,3"/>
|
||||||
<Button x:Name="Add_Member" Content="Mitglied erstellen" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,407,0,20" Click="Add_Member_Button_Click" FontSize="14" Padding="3,3,3,3"/>
|
<Button x:Name="Add_Member" Content="Mitglied erstellen" HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,407,0,20" Click="Add_Member_Button_Click" FontSize="14" Padding="3,3,3,3"/>
|
||||||
<TextBox x:Name="Plz" HorizontalAlignment="Left" Margin="351,191,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
|
<TextBox x:Name="Plz" HorizontalAlignment="Left" Margin="351,191,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120" TextChanged="Plz_TextChanged"/>
|
||||||
<ComboBox x:Name="Ort" HorizontalAlignment="Left" Margin="498,189,0,0" VerticalAlignment="Top" Width="120" ItemTemplate="{Binding Name}"/>
|
<ComboBox x:Name="Ort" HorizontalAlignment="Left" Margin="498,189,0,0" VerticalAlignment="Top" Width="200" ItemTemplate="{StaticResource PostalDestComboBoxTemplate}"/>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</Window>
|
||||||
|
@ -23,7 +23,7 @@ namespace WGneu
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public partial class MemberListWindow : Window
|
public partial class MemberListWindow : Window
|
||||||
{
|
{
|
||||||
private readonly WGContext _context = new WGContext();
|
private readonly WgContext _context = new WgContext();
|
||||||
|
|
||||||
public MemberListWindow()
|
public MemberListWindow()
|
||||||
{
|
{
|
||||||
@ -48,16 +48,36 @@ namespace WGneu
|
|||||||
GivenName.Text = m.GivenName;
|
GivenName.Text = m.GivenName;
|
||||||
FamilyName.Text = m.FamilyName;
|
FamilyName.Text = m.FamilyName;
|
||||||
|
|
||||||
AT_Plz p = m.PostalDest.Plz(_context);
|
AT_Plz? p = m.PostalDest.Plz(_context);
|
||||||
|
if (p != null)
|
||||||
|
{
|
||||||
Plz.Text = p.Plz.ToString();
|
Plz.Text = p.Plz.ToString();
|
||||||
|
|
||||||
var o = p.Orte(_context);
|
var o = p.Orte(_context);
|
||||||
Ort.ItemsSource = o;
|
Ort.ItemsSource = o;
|
||||||
Ort.
|
Ort.SelectedItem = p;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Ort.ItemsSource = null;
|
||||||
|
Ort.SelectedItem = null;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
Edit_Member.IsEnabled = true;
|
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)
|
private void Edit_Member_Button_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
Member m = (Member)MemberList.SelectedItem;
|
Member m = (Member)MemberList.SelectedItem;
|
||||||
|
@ -15,6 +15,6 @@ namespace WGneu.Models
|
|||||||
public int Gkz { get; set; }
|
public int Gkz { get; set; }
|
||||||
|
|
||||||
[Column("name")]
|
[Column("name")]
|
||||||
public String Name { get; set; }
|
public string Name { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -18,7 +18,7 @@ namespace WGneu.Models
|
|||||||
public int Gkz { get; set; }
|
public int Gkz { get; set; }
|
||||||
|
|
||||||
[Column("name")]
|
[Column("name")]
|
||||||
public String Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[ForeignKey("Gkz")]
|
[ForeignKey("Gkz")]
|
||||||
public virtual AT_Gem Gem { get; set; }
|
public virtual AT_Gem Gem { get; set; }
|
||||||
|
@ -21,7 +21,7 @@ namespace WGneu.Models
|
|||||||
public int KgNr { get; set; }
|
public int KgNr { get; set; }
|
||||||
|
|
||||||
[Column("name")]
|
[Column("name")]
|
||||||
public String Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[ForeignKey("Gkz")]
|
[ForeignKey("Gkz")]
|
||||||
public virtual AT_Gem Gem { get; set; }
|
public virtual AT_Gem Gem { get; set; }
|
||||||
|
@ -19,13 +19,13 @@ namespace WGneu.Models
|
|||||||
public int Okz { get; set; }
|
public int Okz { get; set; }
|
||||||
|
|
||||||
[Column("country")]
|
[Column("country")]
|
||||||
public String CountryCode { get; }
|
public string CountryCode { get; }
|
||||||
|
|
||||||
[Column("id")]
|
[Column("id")]
|
||||||
public String Id { get; }
|
public string Id { get; }
|
||||||
|
|
||||||
[Column("dest")]
|
[Column("dest")]
|
||||||
public String Dest { get; set; }
|
public string Dest { get; set; }
|
||||||
|
|
||||||
[ForeignKey("Okz")]
|
[ForeignKey("Okz")]
|
||||||
public virtual AT_Ort Ort { get; set; }
|
public virtual AT_Ort Ort { get; set; }
|
||||||
@ -33,9 +33,9 @@ namespace WGneu.Models
|
|||||||
[ForeignKey("CountryCode")]
|
[ForeignKey("CountryCode")]
|
||||||
public virtual Country Country { get; set; }
|
public virtual Country Country { get; set; }
|
||||||
|
|
||||||
public ISet<AT_Ort> Orte(WGContext ctx)
|
public ISet<AT_Plz> Orte(WgContext ctx)
|
||||||
{
|
{
|
||||||
return ctx.Postleitzahlen.Where(p => p.Plz == Plz).Select(p => p.Ort).ToHashSet();
|
return ctx.Postleitzahlen.Where(p => p.Plz == Plz).ToHashSet();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -12,16 +12,16 @@ namespace WGneu.Models
|
|||||||
public class Country
|
public class Country
|
||||||
{
|
{
|
||||||
[Column("alpha2")]
|
[Column("alpha2")]
|
||||||
public String Alpha2 { get; set; }
|
public string Alpha2 { get; set; }
|
||||||
|
|
||||||
[Column("alpha3")]
|
[Column("alpha3")]
|
||||||
public String Alpha3 { get; set; }
|
public string Alpha3 { get; set; }
|
||||||
|
|
||||||
[Column("num")]
|
[Column("num")]
|
||||||
public int Num { get; set; }
|
public int Num { get; set; }
|
||||||
|
|
||||||
[Column("name")]
|
[Column("name")]
|
||||||
public String Name { get; set; }
|
public string Name { get; set; }
|
||||||
|
|
||||||
[Column("is_visible")]
|
[Column("is_visible")]
|
||||||
public int IsVisible { get; set; }
|
public int IsVisible { get; set; }
|
||||||
|
@ -15,22 +15,22 @@ namespace WGneu.Models
|
|||||||
public int MgNr { get; set; }
|
public int MgNr { get; set; }
|
||||||
|
|
||||||
[Column("given_name")]
|
[Column("given_name")]
|
||||||
public String GivenName { get; set; }
|
public string GivenName { get; set; }
|
||||||
|
|
||||||
[Column("family_name")]
|
[Column("family_name")]
|
||||||
public String FamilyName { get; set; }
|
public string FamilyName { get; set; }
|
||||||
|
|
||||||
[Column("zwstid")]
|
[Column("zwstid")]
|
||||||
public String Zweigstelle { get; set; }
|
public string Zweigstelle { get; set; }
|
||||||
|
|
||||||
[Column("country")]
|
[Column("country")]
|
||||||
public String CountryCode { get; set; }
|
public string CountryCode { get; set; }
|
||||||
|
|
||||||
[Column("postal_dest")]
|
[Column("postal_dest")]
|
||||||
public String PostalDestId { get; set; }
|
public string PostalDestId { get; set; }
|
||||||
|
|
||||||
[Column("address")]
|
[Column("address")]
|
||||||
public String Address { get; set; }
|
public string Address { get; set; }
|
||||||
|
|
||||||
[Column("default_kgnr")]
|
[Column("default_kgnr")]
|
||||||
public int DefaultKgNr { get; set; }
|
public int DefaultKgNr { get; set; }
|
||||||
|
@ -12,15 +12,15 @@ namespace WGneu.Models
|
|||||||
public class PostalDest
|
public class PostalDest
|
||||||
{
|
{
|
||||||
[Column("country")]
|
[Column("country")]
|
||||||
public String CountryCode { get; set; }
|
public string CountryCode { get; set; }
|
||||||
|
|
||||||
[Column("id")]
|
[Column("id")]
|
||||||
public String Id { get; set; }
|
public string Id { get; set; }
|
||||||
|
|
||||||
[ForeignKey("CountryCode")]
|
[ForeignKey("CountryCode")]
|
||||||
public virtual Country Country { get; set; }
|
public virtual Country Country { get; set; }
|
||||||
|
|
||||||
public AT_Plz? Plz(WGContext ctx)
|
public AT_Plz? Plz(WgContext ctx)
|
||||||
{
|
{
|
||||||
if (CountryCode != "AT") return null;
|
if (CountryCode != "AT") return null;
|
||||||
return ctx.Postleitzahlen.Where(p => p.Id == Id).FirstOrDefault();
|
return ctx.Postleitzahlen.Where(p => p.Id == Id).FirstOrDefault();
|
||||||
|
@ -8,7 +8,7 @@ using WGneu.Models;
|
|||||||
|
|
||||||
namespace WGneu
|
namespace WGneu
|
||||||
{
|
{
|
||||||
public class WGContext : DbContext
|
public class WgContext : DbContext
|
||||||
{
|
{
|
||||||
public DbSet<Country> Countries { get; set; }
|
public DbSet<Country> Countries { get; set; }
|
||||||
public DbSet<Member> Members { get; set; }
|
public DbSet<Member> Members { get; set; }
|
||||||
@ -20,7 +20,7 @@ namespace WGneu
|
|||||||
|
|
||||||
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
|
||||||
{
|
{
|
||||||
optionsBuilder.UseSqlite("Data Source=\"C:\\Users\\tom\\Projects\\wgneu\\wgtest.sqlite3\"; foreign keys=true");
|
optionsBuilder.UseSqlite("Data Source=\"C:\\Users\\lorenz\\Desktop\\wgtest.sqlite3\"; foreign keys=true");
|
||||||
optionsBuilder.UseLazyLoadingProxies();
|
optionsBuilder.UseLazyLoadingProxies();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user