From b5f6adc41ca6d76eb090ff6dc188d9cabd00cc50 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 14 Mar 2023 11:12:19 +0100 Subject: [PATCH] Fix Models with PLZ --- WGneu/{Models => Helpers}/Gradation.cs | 2 +- WGneu/Models/AT_Gem.cs | 5 ---- WGneu/Models/AT_Kg.cs | 5 ---- WGneu/Models/AT_Ort.cs | 5 ---- WGneu/Models/AT_Plz.cs | 37 +++++++++++--------------- WGneu/Models/AT_PlzDest.cs | 31 +++++++++++++++++++++ WGneu/Models/AreaCommit.cs | 13 +++------ WGneu/Models/Branch.cs | 5 ---- WGneu/Models/Contract.cs | 5 ---- WGneu/Models/Country.cs | 7 +---- WGneu/Models/Member.cs | 4 --- WGneu/Models/PostalDest.cs | 13 ++------- WGneu/Models/WbKg.cs | 5 ---- WGneu/Models/WbRd.cs | 7 +---- WGneu/Models/WineAttr.cs | 9 ++----- WGneu/Models/WineCult.cs | 9 ++----- WGneu/Models/WineQual.cs | 11 +++----- WGneu/Models/WineVar.cs | 13 +++------ WGneu/Windows/MemberListWindow.xaml.cs | 6 ++--- 19 files changed, 69 insertions(+), 123 deletions(-) rename WGneu/{Models => Helpers}/Gradation.cs (98%) create mode 100644 WGneu/Models/AT_PlzDest.cs diff --git a/WGneu/Models/Gradation.cs b/WGneu/Helpers/Gradation.cs similarity index 98% rename from WGneu/Models/Gradation.cs rename to WGneu/Helpers/Gradation.cs index 7e4e234..ea118a3 100644 --- a/WGneu/Models/Gradation.cs +++ b/WGneu/Helpers/Gradation.cs @@ -4,7 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace WGneu.Models { +namespace WGneu.Helpers { // 1 °KMW = // 1 °NM = kg/100L = 10g/L // 1 °Oe = diff --git a/WGneu/Models/AT_Gem.cs b/WGneu/Models/AT_Gem.cs index 77b516d..1445407 100644 --- a/WGneu/Models/AT_Gem.cs +++ b/WGneu/Models/AT_Gem.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("AT_gem"), PrimaryKey("Gkz")] diff --git a/WGneu/Models/AT_Kg.cs b/WGneu/Models/AT_Kg.cs index 149693a..3c0d85f 100644 --- a/WGneu/Models/AT_Kg.cs +++ b/WGneu/Models/AT_Kg.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("AT_kg"), PrimaryKey("KgNr")] diff --git a/WGneu/Models/AT_Ort.cs b/WGneu/Models/AT_Ort.cs index 3b36dcf..b6eec8b 100644 --- a/WGneu/Models/AT_Ort.cs +++ b/WGneu/Models/AT_Ort.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("AT_ort"), PrimaryKey("Okz")] diff --git a/WGneu/Models/AT_Plz.cs b/WGneu/Models/AT_Plz.cs index ce7407e..a8a3f04 100644 --- a/WGneu/Models/AT_Plz.cs +++ b/WGneu/Models/AT_Plz.cs @@ -1,39 +1,32 @@ using Microsoft.EntityFrameworkCore; -using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WGneu.Helpers; namespace WGneu.Models { - [Table("AT_plz"), PrimaryKey("Plz", "Okz"), Index("Id", IsUnique = true)] + [Table("AT_plz"), PrimaryKey("Plz")] public class AT_Plz { [Column("plz")] public int Plz { get; set; } - [Column("okz")] - public int Okz { get; set; } + [Column("ort")] + public string Ort { get; set; } - [Column("country")] - public string CountryCode { get; } + [Column("blnr")] + public int BlNr { get; } - [Column("id")] - public string Id { get; } + [Column("type")] + public string Type { get; } - [Column("dest")] - public string Dest { get; set; } + [Column("internal")] + public bool Internal { get; set; } - [ForeignKey("Okz")] - public virtual AT_Ort Ort { get; set; } + [Column("addressable")] + public bool Addressable { get; set; } - [ForeignKey("CountryCode")] - public virtual Country Country { get; set; } + [Column("po_box")] + public bool PoBox { get; set; } - public ISet Orte(AppDbContext ctx) { - return ctx.Postleitzahlen.Where(p => p.Plz == Plz).ToHashSet(); - } + [InverseProperty("AtPlz")] + public virtual ISet Orte { get; set; } } } diff --git a/WGneu/Models/AT_PlzDest.cs b/WGneu/Models/AT_PlzDest.cs new file mode 100644 index 0000000..5e3af9f --- /dev/null +++ b/WGneu/Models/AT_PlzDest.cs @@ -0,0 +1,31 @@ +using Microsoft.EntityFrameworkCore; +using System.ComponentModel.DataAnnotations.Schema; + +namespace WGneu.Models { + [Table("AT_plz_dest"), PrimaryKey("Id"), Index("Plz", "Okz", IsUnique = true)] + public class AT_PlzDest { + [Column("plz")] + public int Plz { get; set; } + + [Column("okz")] + public int Okz { get; set; } + + [Column("country")] + public string CountryCode { get; } + + [Column("id")] + public string Id { get; } + + [Column("dest")] + public string Dest { get; set; } + + [ForeignKey("Plz")] + public virtual AT_Plz AtPlz { get; set; } + + [ForeignKey("Okz")] + public virtual AT_Ort Ort { get; set; } + + [ForeignKey("CountryCode")] + public virtual Country Country { get; set; } + } +} diff --git a/WGneu/Models/AreaCommit.cs b/WGneu/Models/AreaCommit.cs index d679180..d69708e 100644 --- a/WGneu/Models/AreaCommit.cs +++ b/WGneu/Models/AreaCommit.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("area_commitment"), PrimaryKey("Vnr", "KgNr", "GstNr")] @@ -16,7 +11,7 @@ namespace WGneu.Models { public int KgNr { get; set; } [Column("gstnr")] - public String? GstNr { get; set; } + public string? GstNr { get; set; } [Column("rdnr")] public int RdNr { get; set; } @@ -25,13 +20,13 @@ namespace WGneu.Models { public int Area { get; set; } [Column("sortid")] - public String SortId { get; set; } + public string SortId { get; set; } [Column("attrid")] - public String? AttrId { get; set; } + public string? AttrId { get; set; } [Column("cultid")] - public String CultId { get; set; } + public string CultId { get; set; } [ForeignKey("Vnr")] public virtual Contract Contract { get; set; } diff --git a/WGneu/Models/Branch.cs b/WGneu/Models/Branch.cs index fed35cd..75727c2 100644 --- a/WGneu/Models/Branch.cs +++ b/WGneu/Models/Branch.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("branch"), PrimaryKey("ZwstId")] diff --git a/WGneu/Models/Contract.cs b/WGneu/Models/Contract.cs index 6d04277..8f1d627 100644 --- a/WGneu/Models/Contract.cs +++ b/WGneu/Models/Contract.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("contract"), PrimaryKey("Vnr")] diff --git a/WGneu/Models/Country.cs b/WGneu/Models/Country.cs index f9b4bfa..c9d944f 100644 --- a/WGneu/Models/Country.cs +++ b/WGneu/Models/Country.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("country"), PrimaryKey("Alpha2")] @@ -22,6 +17,6 @@ namespace WGneu.Models { public string Name { get; set; } [Column("is_visible")] - public int IsVisible { get; set; } + public bool IsVisible { get; set; } } } diff --git a/WGneu/Models/Member.cs b/WGneu/Models/Member.cs index fe87bb6..80a9db8 100644 --- a/WGneu/Models/Member.cs +++ b/WGneu/Models/Member.cs @@ -1,10 +1,6 @@ using Microsoft.EntityFrameworkCore; using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("member"), PrimaryKey("MgNr")] diff --git a/WGneu/Models/PostalDest.cs b/WGneu/Models/PostalDest.cs index 611651c..ff81f38 100644 --- a/WGneu/Models/PostalDest.cs +++ b/WGneu/Models/PostalDest.cs @@ -1,11 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using WGneu.Helpers; namespace WGneu.Models { [Table("postal_dest"), PrimaryKey("CountryCode", "Id")] @@ -19,10 +13,7 @@ namespace WGneu.Models { [ForeignKey("CountryCode")] public virtual Country Country { get; set; } - public AT_Plz? Plz(AppDbContext ctx) { - // TODO getter - if (CountryCode != "AT") return null; - return ctx.Postleitzahlen.Where(p => p.Id == Id).FirstOrDefault(); - } + [ForeignKey("Id")] + public virtual AT_PlzDest? AtPlz { get; set; } } } diff --git a/WGneu/Models/WbKg.cs b/WGneu/Models/WbKg.cs index bf81dd1..8381dc5 100644 --- a/WGneu/Models/WbKg.cs +++ b/WGneu/Models/WbKg.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wb_kg"), PrimaryKey("KgNr")] diff --git a/WGneu/Models/WbRd.cs b/WGneu/Models/WbRd.cs index 756cb10..651e8da 100644 --- a/WGneu/Models/WbRd.cs +++ b/WGneu/Models/WbRd.cs @@ -1,10 +1,5 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wb_rd"), PrimaryKey("KgNr", "RdNr")] @@ -16,7 +11,7 @@ namespace WGneu.Models { public int RdNr { get; set; } [Column("name")] - public String Name { get; set; } + public string Name { get; set; } [ForeignKey("KgNr")] public virtual WbKg WbKg { get; set; } diff --git a/WGneu/Models/WineAttr.cs b/WGneu/Models/WineAttr.cs index 10d7d7f..d4b81b5 100644 --- a/WGneu/Models/WineAttr.cs +++ b/WGneu/Models/WineAttr.cs @@ -1,19 +1,14 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wine_attribute"), PrimaryKey("AttrId")] public class WineAttr { [Column("attrid")] - public String AttrId { get; set; } + public string AttrId { get; set; } [Column("name")] - public String Name { get; set; } + public string Name { get; set; } [Column("kg_per_ha")] public int KgPerHa { get; set; } diff --git a/WGneu/Models/WineCult.cs b/WGneu/Models/WineCult.cs index 4407211..b2a0fe2 100644 --- a/WGneu/Models/WineCult.cs +++ b/WGneu/Models/WineCult.cs @@ -1,18 +1,13 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wine_cultivation"), PrimaryKey("CultId")] public class WineCult { [Column("cultid")] - public String CultId { get; set; } + public string CultId { get; set; } [Column("name")] - public String Name { get; set; } + public string Name { get; set; } } } diff --git a/WGneu/Models/WineQual.cs b/WGneu/Models/WineQual.cs index ee5f7f4..4f80b8e 100644 --- a/WGneu/Models/WineQual.cs +++ b/WGneu/Models/WineQual.cs @@ -1,22 +1,17 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wine_quality"), PrimaryKey("QualId")] public class WineQual { [Column("qualid")] - public String QualId { get; set; } + public string QualId { get; set; } [Column("origin_level")] - public int OriginLevel { get; set; } + public int? OriginLevel { get; set; } [Column("name")] - public String Name { get; set; } + public string Name { get; set; } [Column("from_kmw")] public double? FromKmw { get; set; } diff --git a/WGneu/Models/WineVar.cs b/WGneu/Models/WineVar.cs index d82465f..434630c 100644 --- a/WGneu/Models/WineVar.cs +++ b/WGneu/Models/WineVar.cs @@ -1,24 +1,19 @@ using Microsoft.EntityFrameworkCore; -using System; -using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace WGneu.Models { [Table("wine_variety"), PrimaryKey("SortId")] public class WineVar { [Column("sortid")] - public String SortId { get; set; } + public string SortId { get; set; } [Column("type")] - public String Type { get; set; } + public string Type { get; set; } [Column("name")] - public String Name { get; set; } + public string Name { get; set; } [Column("comment")] - public String? Comment { get; set; } + public string? Comment { get; set; } } } diff --git a/WGneu/Windows/MemberListWindow.xaml.cs b/WGneu/Windows/MemberListWindow.xaml.cs index d761a1b..db467f9 100644 --- a/WGneu/Windows/MemberListWindow.xaml.cs +++ b/WGneu/Windows/MemberListWindow.xaml.cs @@ -181,7 +181,7 @@ namespace WGneu.Windows { m.Suffix = (SuffixInput.Text == "") ? null : SuffixInput.Text; m.Birthday = (BirthdayInput.Text == "") ? null : string.Join("-", BirthdayInput.Text.Split(".").Reverse()); m.CountryCode = "AT"; - m.PostalDestId = ((AT_Plz)OrtInput.SelectedItem).Id; + m.PostalDestId = ((AT_PlzDest)OrtInput.SelectedItem).Id; m.PostalDest = Context.PostalDestinations.Find(m.CountryCode, m.PostalDestId); m.Address = AddressInput.Text; @@ -359,10 +359,10 @@ namespace WGneu.Windows { SuffixInput.Text = m.Suffix; BirthdayInput.Text = (m.Birthday != null) ? string.Join(".", m.Birthday.Split("-").Reverse()) : null; AddressInput.Text = m.Address; - AT_Plz? p = m.PostalDest.Plz(Context); + AT_PlzDest? p = m.PostalDest.AtPlz; if (p != null) { PlzInput.Text = p.Plz.ToString(); - OrtInput.ItemsSource = p.Orte(Context); + OrtInput.ItemsSource = p.AtPlz.Orte; OrtInput.SelectedItem = p; } else { PlzInput.Text = null;