Refactor and Fix PLZ/Ort in MemberListWindow
This commit is contained in:
@ -11,5 +11,13 @@
|
||||
<ui:XamlControlsResources />
|
||||
</ResourceDictionary.MergedDictionaries>
|
||||
</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>
|
||||
|
@ -25,7 +25,7 @@ namespace WGneu
|
||||
/// </summary>
|
||||
public partial class MainWindow : Window
|
||||
{
|
||||
private readonly WGContext _context = new WGContext();
|
||||
private readonly WgContext _context = new WgContext();
|
||||
private CollectionViewSource countryViewSource;
|
||||
public MainWindow()
|
||||
{
|
||||
|
@ -21,11 +21,11 @@ namespace WGneu
|
||||
/// </summary>
|
||||
public partial class MemberAddWindow : Window
|
||||
{
|
||||
private WGContext _context;
|
||||
private WgContext _context;
|
||||
private readonly Member member = new Member();
|
||||
public event EventHandler Event;
|
||||
|
||||
public MemberAddWindow(WGContext context)
|
||||
public MemberAddWindow(WgContext context)
|
||||
{
|
||||
this._context = context;
|
||||
|
||||
|
@ -22,11 +22,11 @@ namespace WGneu
|
||||
/// </summary>
|
||||
public partial class MemberEditWindow : Window
|
||||
{
|
||||
private WGContext _context;
|
||||
private WgContext _context;
|
||||
private readonly Member member;
|
||||
public event EventHandler Event;
|
||||
|
||||
public MemberEditWindow(Member member, WGContext context)
|
||||
public MemberEditWindow(Member member, WgContext context)
|
||||
{
|
||||
this._context= context;
|
||||
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"/>
|
||||
<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"/>
|
||||
<TextBox x:Name="Plz" HorizontalAlignment="Left" Margin="351,191,0,0" TextWrapping="Wrap" VerticalAlignment="Top" Width="120"/>
|
||||
<ComboBox x:Name="Ort" HorizontalAlignment="Left" Margin="498,189,0,0" VerticalAlignment="Top" Width="120" ItemTemplate="{Binding Name}"/>
|
||||
|
||||
<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="200" ItemTemplate="{StaticResource PostalDestComboBoxTemplate}"/>
|
||||
</Grid>
|
||||
</Window>
|
||||
|
@ -23,7 +23,7 @@ namespace WGneu
|
||||
/// </summary>
|
||||
public partial class MemberListWindow : Window
|
||||
{
|
||||
private readonly WGContext _context = new WGContext();
|
||||
private readonly WgContext _context = new WgContext();
|
||||
|
||||
public MemberListWindow()
|
||||
{
|
||||
@ -48,16 +48,36 @@ namespace WGneu
|
||||
GivenName.Text = m.GivenName;
|
||||
FamilyName.Text = m.FamilyName;
|
||||
|
||||
AT_Plz p = m.PostalDest.Plz(_context);
|
||||
Plz.Text = p.Plz.ToString();
|
||||
AT_Plz? p = m.PostalDest.Plz(_context);
|
||||
if (p != null)
|
||||
{
|
||||
Plz.Text = p.Plz.ToString();
|
||||
|
||||
var o = p.Orte(_context);
|
||||
Ort.ItemsSource = o;
|
||||
Ort.
|
||||
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;
|
||||
|
@ -15,6 +15,6 @@ namespace WGneu.Models
|
||||
public int Gkz { get; set; }
|
||||
|
||||
[Column("name")]
|
||||
public String Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ namespace WGneu.Models
|
||||
public int Gkz { get; set; }
|
||||
|
||||
[Column("name")]
|
||||
public String Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
[ForeignKey("Gkz")]
|
||||
public virtual AT_Gem Gem { get; set; }
|
||||
|
@ -21,7 +21,7 @@ namespace WGneu.Models
|
||||
public int KgNr { get; set; }
|
||||
|
||||
[Column("name")]
|
||||
public String Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
[ForeignKey("Gkz")]
|
||||
public virtual AT_Gem Gem { get; set; }
|
||||
|
@ -19,13 +19,13 @@ namespace WGneu.Models
|
||||
public int Okz { get; set; }
|
||||
|
||||
[Column("country")]
|
||||
public String CountryCode { get; }
|
||||
public string CountryCode { get; }
|
||||
|
||||
[Column("id")]
|
||||
public String Id { get; }
|
||||
public string Id { get; }
|
||||
|
||||
[Column("dest")]
|
||||
public String Dest { get; set; }
|
||||
public string Dest { get; set; }
|
||||
|
||||
[ForeignKey("Okz")]
|
||||
public virtual AT_Ort Ort { get; set; }
|
||||
@ -33,9 +33,9 @@ namespace WGneu.Models
|
||||
[ForeignKey("CountryCode")]
|
||||
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
|
||||
{
|
||||
[Column("alpha2")]
|
||||
public String Alpha2 { get; set; }
|
||||
public string Alpha2 { get; set; }
|
||||
|
||||
[Column("alpha3")]
|
||||
public String Alpha3 { get; set; }
|
||||
public string Alpha3 { get; set; }
|
||||
|
||||
[Column("num")]
|
||||
public int Num { get; set; }
|
||||
|
||||
[Column("name")]
|
||||
public String Name { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
[Column("is_visible")]
|
||||
public int IsVisible { get; set; }
|
||||
|
@ -15,29 +15,29 @@ namespace WGneu.Models
|
||||
public int MgNr { get; set; }
|
||||
|
||||
[Column("given_name")]
|
||||
public String GivenName { get; set; }
|
||||
public string GivenName { get; set; }
|
||||
|
||||
[Column("family_name")]
|
||||
public String FamilyName { get; set; }
|
||||
public string FamilyName { get; set; }
|
||||
|
||||
[Column("zwstid")]
|
||||
public String Zweigstelle { get; set; }
|
||||
public string Zweigstelle { get; set; }
|
||||
|
||||
[Column("country")]
|
||||
public String CountryCode { get; set; }
|
||||
public string CountryCode { get; set; }
|
||||
|
||||
[Column("postal_dest")]
|
||||
public String PostalDestId { get; set; }
|
||||
public string PostalDestId { get; set; }
|
||||
|
||||
[Column("address")]
|
||||
public String Address { get; set; }
|
||||
public string Address { get; set; }
|
||||
|
||||
[Column("default_kgnr")]
|
||||
public int DefaultKgNr { get; set; }
|
||||
|
||||
[ForeignKey("CountryCode")]
|
||||
public virtual Country Country { get; set; }
|
||||
|
||||
|
||||
[ForeignKey("CountryCode, PostalDestId")]
|
||||
public virtual PostalDest PostalDest { get; set; }
|
||||
|
||||
|
@ -12,15 +12,15 @@ namespace WGneu.Models
|
||||
public class PostalDest
|
||||
{
|
||||
[Column("country")]
|
||||
public String CountryCode { get; set; }
|
||||
public string CountryCode { get; set; }
|
||||
|
||||
[Column("id")]
|
||||
public String Id { get; set; }
|
||||
public string Id { get; set; }
|
||||
|
||||
[ForeignKey("CountryCode")]
|
||||
public virtual Country Country { get; set; }
|
||||
|
||||
public AT_Plz? Plz(WGContext ctx)
|
||||
public AT_Plz? Plz(WgContext ctx)
|
||||
{
|
||||
if (CountryCode != "AT") return null;
|
||||
return ctx.Postleitzahlen.Where(p => p.Id == Id).FirstOrDefault();
|
||||
|
@ -8,7 +8,7 @@ using WGneu.Models;
|
||||
|
||||
namespace WGneu
|
||||
{
|
||||
public class WGContext : DbContext
|
||||
public class WgContext : DbContext
|
||||
{
|
||||
public DbSet<Country> Countries { get; set; }
|
||||
public DbSet<Member> Members { get; set; }
|
||||
@ -20,7 +20,7 @@ namespace WGneu
|
||||
|
||||
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();
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user