diff --git a/Elwig/Helpers/Billing/Varibute.cs b/Elwig/Helpers/Billing/Varibute.cs index 60cedb5..d89c662 100644 --- a/Elwig/Helpers/Billing/Varibute.cs +++ b/Elwig/Helpers/Billing/Varibute.cs @@ -62,8 +62,8 @@ namespace Elwig.Helpers.Billing { public Varibute(RawVaribute raw) : this(raw.SortId != null ? new WineVar(raw.SortId, raw.SortId) : null, - raw.AttrId != null ? new WineAttr(raw.AttrId, raw.AttrId) : null, - raw.CultId != null ? new WineCult(raw.CultId, raw.CultId) : null) { + raw.AttrId != null ? new WineAttr() { AttrId = raw.AttrId, Name = raw.AttrId } : null, + raw.CultId != null ? new WineCult() { CultId = raw.CultId, Name = raw.CultId } : null) { } public Varibute(RawVaribute raw, Dictionary vars, Dictionary attrs, Dictionary cults) : diff --git a/Elwig/Models/Entities/AT_Gem.cs b/Elwig/Models/Entities/AT_Gem.cs index 6e8d0b0..8647bd5 100644 --- a/Elwig/Models/Entities/AT_Gem.cs +++ b/Elwig/Models/Entities/AT_Gem.cs @@ -9,10 +9,10 @@ namespace Elwig.Models.Entities { public int Gkz { get; private set; } [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [InverseProperty("Gem")] - public virtual ISet Kgs { get; private set; } + public virtual ISet Kgs { get; private set; } = null!; [InverseProperty("AtGem")] public virtual WbGem? WbGem { get; private set; } diff --git a/Elwig/Models/Entities/AT_Kg.cs b/Elwig/Models/Entities/AT_Kg.cs index 0a2191e..22cdf11 100644 --- a/Elwig/Models/Entities/AT_Kg.cs +++ b/Elwig/Models/Entities/AT_Kg.cs @@ -11,10 +11,10 @@ namespace Elwig.Models.Entities { public int Gkz { get; private set; } [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [ForeignKey("Gkz")] - public virtual AT_Gem Gem { get; private set; } + public virtual AT_Gem Gem { get; private set; } = null!; [InverseProperty("AtKg")] public virtual WbKg? WbKg { get; private set; } diff --git a/Elwig/Models/Entities/AT_Ort.cs b/Elwig/Models/Entities/AT_Ort.cs index fc7829b..a2cdaf4 100644 --- a/Elwig/Models/Entities/AT_Ort.cs +++ b/Elwig/Models/Entities/AT_Ort.cs @@ -14,10 +14,10 @@ namespace Elwig.Models.Entities { public int? KgNr { get; private set; } [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [ForeignKey("Gkz")] - public virtual AT_Gem Gem { get; private set; } + public virtual AT_Gem Gem { get; private set; } = null!; [ForeignKey("KgNr")] public virtual AT_Kg? Kg { get; private set; } diff --git a/Elwig/Models/Entities/AT_Plz.cs b/Elwig/Models/Entities/AT_Plz.cs index 5d00e81..7267516 100644 --- a/Elwig/Models/Entities/AT_Plz.cs +++ b/Elwig/Models/Entities/AT_Plz.cs @@ -9,13 +9,13 @@ namespace Elwig.Models.Entities { public int Plz { get; private set; } [Column("ort")] - public string Ort { get; private set; } + public string Ort { get; private set; } = null!; [Column("blnr")] public int BlNr { get; private set; } [Column("type")] - public string Type { get; private set; } + public string Type { get; private set; } = null!; [Column("internal")] public bool IsInternal { get; private set; } @@ -27,6 +27,6 @@ namespace Elwig.Models.Entities { public bool IsPoBox { get; private set; } [InverseProperty("AtPlz")] - public virtual ISet Orte { get; private set; } + public virtual ISet Orte { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/AT_PlzDest.cs b/Elwig/Models/Entities/AT_PlzDest.cs index 9c618d7..00bf8e6 100644 --- a/Elwig/Models/Entities/AT_PlzDest.cs +++ b/Elwig/Models/Entities/AT_PlzDest.cs @@ -15,18 +15,18 @@ namespace Elwig.Models.Entities { public int CountryNum { get; private set; } [Column("id")] - public string Id { get; private set; } + public string Id { get; private set; } = null!; [Column("dest")] - public string Dest { get; private set; } + public string Dest { get; private set; } = null!; [ForeignKey("Plz")] - public virtual AT_Plz AtPlz { get; private set; } + public virtual AT_Plz AtPlz { get; private set; } = null!; [ForeignKey("Okz")] - public virtual AT_Ort Ort { get; private set; } + public virtual AT_Ort Ort { get; private set; } = null!; [ForeignKey("CountryNum")] - public virtual Country Country { get; private set; } + public virtual Country Country { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/AreaCom.cs b/Elwig/Models/Entities/AreaCom.cs index 4878f9d..07278b1 100644 --- a/Elwig/Models/Entities/AreaCom.cs +++ b/Elwig/Models/Entities/AreaCom.cs @@ -2,7 +2,6 @@ using Elwig.Helpers; using Microsoft.EntityFrameworkCore; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; -using System.Linq; namespace Elwig.Models.Entities { [Table("area_commitment"), PrimaryKey("FbNr")] @@ -14,7 +13,7 @@ namespace Elwig.Models.Entities { public int MgNr { get; set; } [Column("vtrgid")] - public string VtrgId { get; set; } + public required string VtrgId { get; set; } [Column("cultid")] public string? CultId { get; set; } @@ -26,7 +25,7 @@ namespace Elwig.Models.Entities { public int KgNr { get; set; } [Column("gstnr")] - public string GstNr { get; set; } + public required string GstNr { get; set; } [Column("rdnr")] public int? RdNr { get; set; } @@ -41,25 +40,24 @@ namespace Elwig.Models.Entities { public string? Comment { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; [ForeignKey("VtrgId")] - public virtual AreaComType AreaComType { get; private set; } + public virtual AreaComType AreaComType { get; private set; } = null!; [ForeignKey("CultId")] public virtual WineCult? WineCult { get; private set; } [ForeignKey("KgNr")] - public virtual WbKg Kg { get; private set; } + public virtual WbKg Kg { get; private set; } = null!; [ForeignKey("KgNr, RdNr")] public virtual WbRd? Rd { get; private set; } public int SearchScore(IEnumerable keywords) { - var list = new string?[] { - WineCult?.Name, Kg.AtKg.Name, Rd.Name, GstNr, Comment, - }.ToList(); - return Utils.GetSearchScore(list, keywords); + return Utils.GetSearchScore([ + WineCult?.Name, Kg.AtKg.Name, Rd?.Name, GstNr, Comment, + ], keywords); } } } diff --git a/Elwig/Models/Entities/AreaComType.cs b/Elwig/Models/Entities/AreaComType.cs index cadd183..99857ea 100644 --- a/Elwig/Models/Entities/AreaComType.cs +++ b/Elwig/Models/Entities/AreaComType.cs @@ -7,10 +7,10 @@ namespace Elwig.Models.Entities { [Table("area_commitment_type"), PrimaryKey("VtrgId"), Index("SortId", "AttrId", "Discriminator", IsUnique = true)] public class AreaComType { [Column("vtrgid")] - public string VtrgId { get; set; } + public required string VtrgId { get; set; } [Column("sortid")] - public string SortId { get; set; } + public required string SortId { get; set; } [Column("attrid")] public string? AttrId { get; set; } @@ -46,7 +46,7 @@ namespace Elwig.Models.Entities { } [ForeignKey("SortId")] - public virtual WineVar WineVar { get; private set; } + public virtual WineVar WineVar { get; private set; } = null!; [ForeignKey("AttrId")] public virtual WineAttr? WineAttr { get; private set; } diff --git a/Elwig/Models/Entities/BillingAddr.cs b/Elwig/Models/Entities/BillingAddr.cs index 2ceca41..fa0d9bc 100644 --- a/Elwig/Models/Entities/BillingAddr.cs +++ b/Elwig/Models/Entities/BillingAddr.cs @@ -9,24 +9,24 @@ namespace Elwig.Models.Entities { public int MgNr { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("country")] public int CountryNum { get; set; } [Column("postal_dest")] - public string PostalDestId { get; set; } + public required string PostalDestId { get; set; } [Column("address")] - public string Address { get; set; } + public required string Address { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; [ForeignKey("CountryNum")] - public virtual Country Country { get; private set; } + public virtual Country Country { get; private set; } = null!; [ForeignKey("CountryNum, PostalDestId")] - public virtual PostalDest PostalDest { get; private set; } + public virtual PostalDest PostalDest { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/Branch.cs b/Elwig/Models/Entities/Branch.cs index 81d5c7c..4c0027b 100644 --- a/Elwig/Models/Entities/Branch.cs +++ b/Elwig/Models/Entities/Branch.cs @@ -7,10 +7,10 @@ namespace Elwig.Models.Entities { [Table("branch"), PrimaryKey("ZwstId"), Index("Name", IsUnique = true)] public class Branch { [Column("zwstid")] - public string ZwstId { get; set; } + public required string ZwstId { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("country")] public int? CountryNum { get; set; } @@ -37,6 +37,6 @@ namespace Elwig.Models.Entities { public string? MobileNr { get; set; } [InverseProperty("Branch")] - public virtual ISet Members { get; private set; } + public virtual ISet Members { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/ClientParam.cs b/Elwig/Models/Entities/ClientParam.cs index c9414a6..1dee8d1 100644 --- a/Elwig/Models/Entities/ClientParam.cs +++ b/Elwig/Models/Entities/ClientParam.cs @@ -5,7 +5,7 @@ namespace Elwig.Models.Entities { [Table("client_parameter"), PrimaryKey("Param")] public class ClientParam { [Column("param")] - public string Param { get; set; } + public required string Param { get; set; } [Column("value")] public string? Value { get; set; } diff --git a/Elwig/Models/Entities/Country.cs b/Elwig/Models/Entities/Country.cs index 73756fb..e6ff026 100644 --- a/Elwig/Models/Entities/Country.cs +++ b/Elwig/Models/Entities/Country.cs @@ -9,13 +9,13 @@ namespace Elwig.Models.Entities { public int Num { get; private set; } [Column("alpha2")] - public string Alpha2 { get; private set; } + public string Alpha2 { get; private set; } = null!; [Column("alpha3")] - public string Alpha3 { get; private set; } + public string Alpha3 { get; private set; } = null!; [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [Column("is_visible")] public bool IsVisible { get; private set; } diff --git a/Elwig/Models/Entities/Credit.cs b/Elwig/Models/Entities/Credit.cs index 91dd1eb..e75ed9a 100644 --- a/Elwig/Models/Entities/Credit.cs +++ b/Elwig/Models/Entities/Credit.cs @@ -94,12 +94,12 @@ namespace Elwig.Models.Entities { public DateTime ModifiedTimestamp => DateTimeOffset.FromUnixTimeSeconds(CTime).LocalDateTime; [ForeignKey("Year, AvNr, MgNr")] - public virtual PaymentMember Payment { get; private set; } + public virtual PaymentMember Payment { get; private set; } = null!; [ForeignKey("Year, AvNr")] - public virtual PaymentVar Variant { get; private set; } + public virtual PaymentVar Variant { get; private set; } = null!; [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/Currency.cs b/Elwig/Models/Entities/Currency.cs index a7f809c..a35db6b 100644 --- a/Elwig/Models/Entities/Currency.cs +++ b/Elwig/Models/Entities/Currency.cs @@ -6,10 +6,10 @@ namespace Elwig.Models.Entities { [Table("currency"), PrimaryKey("Code")] public class Currency { [Column("code")] - public string Code { get; private set; } + public string Code { get; private set; } = null!; [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [Column("symbol")] public string? Symbol { get; private set; } diff --git a/Elwig/Models/Entities/Delivery.cs b/Elwig/Models/Entities/Delivery.cs index c05f079..39e61d8 100644 --- a/Elwig/Models/Entities/Delivery.cs +++ b/Elwig/Models/Entities/Delivery.cs @@ -16,7 +16,7 @@ namespace Elwig.Models.Entities { public int DId { get; set; } [Column("date")] - public string DateString { get; set; } + public required string DateString { get; set; } [NotMapped] public DateOnly Date { @@ -43,31 +43,31 @@ namespace Elwig.Models.Entities { } [Column("zwstid")] - public string ZwstId { get; set; } + public required string ZwstId { get; set; } [ForeignKey("ZwstId")] - public virtual Branch Branch { get; private set; } + public virtual Branch Branch { get; private set; } = null!; [Column("lnr")] public int LNr { get; set; } [Column("lsnr")] - public string LsNr { get; set; } + public required string LsNr { get; set; } [Column("mgnr")] public int MgNr { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; [Column("comment")] public string? Comment { get; set; } [ForeignKey("Year")] - public virtual Season Season { get; private set; } + public virtual Season Season { get; private set; } = null!; [InverseProperty("Delivery")] - public virtual ISet Parts { get; private set; } + public virtual ISet Parts { get; private set; } = null!; [NotMapped] public IEnumerable FilteredParts => PartFilter == null ? Parts : Parts.Where(p => PartFilter(p)); diff --git a/Elwig/Models/Entities/DeliveryPart.cs b/Elwig/Models/Entities/DeliveryPart.cs index 4c15525..d16d9b0 100644 --- a/Elwig/Models/Entities/DeliveryPart.cs +++ b/Elwig/Models/Entities/DeliveryPart.cs @@ -14,16 +14,16 @@ namespace Elwig.Models.Entities { public int DId { get; set; } [ForeignKey("Year, DId")] - public virtual Delivery Delivery { get; private set; } + public virtual Delivery Delivery { get; private set; } = null!; [Column("dpnr")] public int DPNr { get; set; } [Column("sortid")] - public string SortId { get; set; } + public required string SortId { get; set; } [ForeignKey("SortId")] - public virtual WineVar Variety { get; private set; } + public virtual WineVar Variety { get; private set; } = null!; [Column("attrid")] public string? AttrId { get; set; } @@ -49,16 +49,16 @@ namespace Elwig.Models.Entities { } [Column("qualid")] - public string QualId { get; set; } + public required string QualId { get; set; } [ForeignKey("QualId")] - public virtual WineQualLevel Quality { get; private set; } + public virtual WineQualLevel Quality { get; private set; } = null!; [Column("hkid")] - public string HkId { get; set; } + public required string HkId { get; set; } [ForeignKey("HkId")] - public virtual WineOrigin Origin { get; private set; } + public virtual WineOrigin Origin { get; private set; } = null!; [Column("kgnr")] public int? KgNr { get; set; } @@ -109,7 +109,7 @@ namespace Elwig.Models.Entities { public string? Comment { get; set; } [InverseProperty("Part")] - public virtual ISet PartModifiers { get; private set; } + public virtual ISet PartModifiers { get; private set; } = null!; [NotMapped] public IEnumerable Modifiers => PartModifiers.Select(m => m.Modifier).OrderBy(m => m.Ordering); @@ -121,6 +121,6 @@ namespace Elwig.Models.Entities { public string OriginString => Origin.OriginString + "\n" + (Kg?.Gl != null ? $" / {Kg.Gl.Name}" : "") + (Kg != null ? $" / {Kg.AtKg.Gem.Name} / KG {Kg.AtKg.Name}" : "") + (Rd != null ? $" / Ried {Rd.Name}" : ""); [InverseProperty("Part")] - public virtual ISet Buckets { get; private set; } + public virtual ISet Buckets { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/DeliveryPartBucket.cs b/Elwig/Models/Entities/DeliveryPartBucket.cs index f53f704..dffce8f 100644 --- a/Elwig/Models/Entities/DeliveryPartBucket.cs +++ b/Elwig/Models/Entities/DeliveryPartBucket.cs @@ -17,12 +17,12 @@ namespace Elwig.Models.Entities { public int BktNr { get; set; } [Column("discr")] - public string Discr { get; set; } + public required string Discr { get; set; } [Column("value")] public int Value { get; set; } [ForeignKey("Year, DId, DPNr")] - public virtual DeliveryPart Part { get; private set; } + public virtual DeliveryPart Part { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/DeliveryPartModifier.cs b/Elwig/Models/Entities/DeliveryPartModifier.cs index 50e116f..c142c5a 100644 --- a/Elwig/Models/Entities/DeliveryPartModifier.cs +++ b/Elwig/Models/Entities/DeliveryPartModifier.cs @@ -14,12 +14,12 @@ namespace Elwig.Models.Entities { public int DPNr { get; set; } [ForeignKey("Year, DId, DPNr")] - public virtual DeliveryPart Part { get; private set; } + public virtual DeliveryPart Part { get; private set; } = null!; [Column("modid")] - public string ModId { get; set; } + public required string ModId { get; set; } [ForeignKey("Year, ModId")] - public virtual Modifier Modifier { get; private set; } + public virtual Modifier Modifier { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/Member.cs b/Elwig/Models/Entities/Member.cs index 01fe45a..32a9d6a 100644 --- a/Elwig/Models/Entities/Member.cs +++ b/Elwig/Models/Entities/Member.cs @@ -18,19 +18,19 @@ namespace Elwig.Models.Entities { public string? Prefix { get; set; } [Column("given_name")] - public string GivenName { get; set; } + public required string GivenName { get; set; } [Column("middle_names")] public string? MiddleName { get; set; } [NotMapped] public string[] MiddleNames { - get { return (MiddleName != null) ? MiddleName.Split(" ") : Array.Empty(); } - set { MiddleName = (value.Length > 0) ? string.Join(" ", value) : null; } + get => (MiddleName != null) ? MiddleName.Split(" ") : []; + set => MiddleName = (value.Length > 0) ? string.Join(" ", value) : null; } [Column("family_name")] - public string FamilyName { get; set; } + public required string FamilyName { get; set; } [Column("suffix")] public string? Suffix { get; set; } @@ -118,10 +118,10 @@ namespace Elwig.Models.Entities { public int CountryNum { get; set; } [Column("postal_dest")] - public string PostalDestId { get; set; } + public string PostalDestId { get; set; } = null!; [Column("address")] - public string Address { get; set; } + public string Address { get; set; } = null!; [Column("default_kgnr")] public int? DefaultKgNr { get; set; } @@ -139,10 +139,10 @@ namespace Elwig.Models.Entities { public virtual Member? Predecessor { get; private set; } [ForeignKey("CountryNum")] - public virtual Country Country { get; private set; } + public virtual Country Country { get; private set; } = null!; [ForeignKey("CountryNum, PostalDestId")] - public virtual PostalDest PostalDest { get; private set; } + public virtual PostalDest PostalDest { get; private set; } = null!; [ForeignKey("DefaultKgNr")] public virtual WbKg? DefaultWbKg { get; private set; } @@ -154,7 +154,7 @@ namespace Elwig.Models.Entities { public virtual Branch? Branch { get; private set; } [InverseProperty("Member")] - public virtual ISet AreaCommitments { get; private set; } + public virtual ISet AreaCommitments { get; private set; } = null!; [NotMapped] public IEnumerable ActiveAreaCommitments => AreaCommitments @@ -164,22 +164,22 @@ namespace Elwig.Models.Entities { public virtual BillingAddr? BillingAddress { get; private set; } [InverseProperty("Member")] - public virtual ISet Deliveries { get; private set; } + public virtual ISet Deliveries { get; private set; } = null!; [InverseProperty("Member")] - public virtual ISet TelephoneNumbers { get; private set; } + public virtual ISet TelephoneNumbers { get; private set; } = null!; [InverseProperty("member")] - public virtual ISet EmailAddresses { get; private set; } + public virtual ISet EmailAddresses { get; private set; } = null!; - public string FullAddress => $"{Address}, {PostalDest.AtPlz.Plz} {PostalDest.AtPlz.Ort.Name}"; + public string FullAddress => $"{Address}, {PostalDest.AtPlz?.Plz} {PostalDest.AtPlz?.Ort.Name}"; public int SearchScore(IEnumerable keywords) { - return Utils.GetSearchScore(new string?[] { + return Utils.GetSearchScore([ FamilyName, MiddleName, GivenName, BillingAddress?.Name, Comment, - }, keywords); + ], keywords); } } } diff --git a/Elwig/Models/Entities/MemberEmailAddr.cs b/Elwig/Models/Entities/MemberEmailAddr.cs index 7b96db9..f9aa83b 100644 --- a/Elwig/Models/Entities/MemberEmailAddr.cs +++ b/Elwig/Models/Entities/MemberEmailAddr.cs @@ -11,12 +11,12 @@ namespace Elwig.Models.Entities { public int Nr { get; set; } [Column("address")] - public string Address { get; set; } + public required string Address { get; set; } [Column("comment")] public string? Comment { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/MemberHistory.cs b/Elwig/Models/Entities/MemberHistory.cs index 3835581..e968407 100644 --- a/Elwig/Models/Entities/MemberHistory.cs +++ b/Elwig/Models/Entities/MemberHistory.cs @@ -9,7 +9,7 @@ namespace Elwig.Models.Entities { public int MgNr { get; set; } [Column("date")] - public string DateString { get; set; } + public required string DateString { get; set; } [NotMapped] public DateOnly Date { get => DateOnly.ParseExact(DateString, "yyyy-MM-dd"); @@ -20,12 +20,12 @@ namespace Elwig.Models.Entities { public int BusinessShares { get; set; } [Column("type")] - public string Type { get; set; } + public required string Type { get; set; } [Column("comment")] public string? Comment { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/MemberTelNr.cs b/Elwig/Models/Entities/MemberTelNr.cs index dbcddb7..2078de7 100644 --- a/Elwig/Models/Entities/MemberTelNr.cs +++ b/Elwig/Models/Entities/MemberTelNr.cs @@ -11,15 +11,15 @@ namespace Elwig.Models.Entities { public int Nr { get; set; } [Column("type")] - public string Type { get; set; } + public required string Type { get; set; } [Column("number")] - public string Number { get; set; } + public required string Number { get; set; } [Column("comment")] public string? Comment { get; set; } [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/Modifier.cs b/Elwig/Models/Entities/Modifier.cs index 9261124..d4e67c4 100644 --- a/Elwig/Models/Entities/Modifier.cs +++ b/Elwig/Models/Entities/Modifier.cs @@ -11,13 +11,13 @@ namespace Elwig.Models.Entities { public int Year { get; set; } [Column("modid")] - public string ModId { get; set; } + public required string ModId { get; set; } [Column("ordering")] public int Ordering { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("abs")] public long? AbsValue { get; set; } @@ -44,7 +44,7 @@ namespace Elwig.Models.Entities { public bool IsQuickSelect { get; set; } [ForeignKey("Year")] - public virtual Season Season { get; private set; } + public virtual Season Season { get; private set; } = null!; public string ValueStr => (Abs != null) ? $"{Utils.GetSign(Abs.Value)}{Math.Abs(Abs.Value).ToString("0." + string.Concat(Enumerable.Repeat('0', Season.Precision)))}\u00a0{Season.Currency.Symbol}/kg" : diff --git a/Elwig/Models/Entities/PaymentDeliveryPart.cs b/Elwig/Models/Entities/PaymentDeliveryPart.cs index ab9eb42..498ddf9 100644 --- a/Elwig/Models/Entities/PaymentDeliveryPart.cs +++ b/Elwig/Models/Entities/PaymentDeliveryPart.cs @@ -46,9 +46,9 @@ namespace Elwig.Models.Entities { public decimal Amount => Variant.Season.DecFromDb(AmountValue); [ForeignKey("Year, AvNr")] - public virtual PaymentVar Variant { get; private set; } + public virtual PaymentVar Variant { get; private set; } = null!; [ForeignKey("Year, DId, DPNr")] - public virtual DeliveryPart DeliveryPart { get; private set; } + public virtual DeliveryPart DeliveryPart { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/PaymentDeliveryPartBucket.cs b/Elwig/Models/Entities/PaymentDeliveryPartBucket.cs index 03cb15e..3bb1655 100644 --- a/Elwig/Models/Entities/PaymentDeliveryPartBucket.cs +++ b/Elwig/Models/Entities/PaymentDeliveryPartBucket.cs @@ -36,9 +36,9 @@ namespace Elwig.Models.Entities { } [ForeignKey("Year, AvNr")] - public virtual PaymentVar Variant { get; private set; } + public virtual PaymentVar Variant { get; private set; } = null!; [ForeignKey("Year, DId, DPNr")] - public virtual DeliveryPart DeliveryPart { get; private set; } + public virtual DeliveryPart DeliveryPart { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/PaymentMember.cs b/Elwig/Models/Entities/PaymentMember.cs index d16d6c4..7af44e2 100644 --- a/Elwig/Models/Entities/PaymentMember.cs +++ b/Elwig/Models/Entities/PaymentMember.cs @@ -13,7 +13,6 @@ namespace Elwig.Models.Entities { [Column("mgnr")] public int MgNr { get; set; } - [Column("net_amount")] public long NetAmountValue { get; set; } [NotMapped] @@ -44,10 +43,10 @@ namespace Elwig.Models.Entities { public decimal Amount => Variant.Season.DecFromDb(AmountValue); [ForeignKey("Year, AvNr")] - public virtual PaymentVar Variant { get; private set; } + public virtual PaymentVar Variant { get; private set; } = null!; [ForeignKey("MgNr")] - public virtual Member Member { get; private set; } + public virtual Member Member { get; private set; } = null!; [InverseProperty("Payment")] public virtual Credit? Credit { get; private set; } diff --git a/Elwig/Models/Entities/PaymentVar.cs b/Elwig/Models/Entities/PaymentVar.cs index 505236c..0cf553b 100644 --- a/Elwig/Models/Entities/PaymentVar.cs +++ b/Elwig/Models/Entities/PaymentVar.cs @@ -13,10 +13,10 @@ namespace Elwig.Models.Entities { public int AvNr { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("date")] - public string DateString { get; set; } + public required string DateString { get; set; } [NotMapped] public DateOnly Date { @@ -43,18 +43,18 @@ namespace Elwig.Models.Entities { public string? Comment { get; set; } [Column("data")] - public string Data { get; set; } + public required string Data { get; set; } [ForeignKey("Year")] - public virtual Season Season { get; private set; } + public virtual Season Season { get; private set; } = null!; [InverseProperty("Variant")] - public virtual ISet MemberPayments { get; private set; } + public virtual ISet MemberPayments { get; private set; } = null!; [InverseProperty("Variant")] - public virtual ISet DeliveryPartPayments { get; private set; } + public virtual ISet DeliveryPartPayments { get; private set; } = null!; [InverseProperty("Variant")] - public virtual ISet Credits { get; private set; } + public virtual ISet Credits { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/PostalDest.cs b/Elwig/Models/Entities/PostalDest.cs index d350a12..1347ab8 100644 --- a/Elwig/Models/Entities/PostalDest.cs +++ b/Elwig/Models/Entities/PostalDest.cs @@ -8,10 +8,10 @@ namespace Elwig.Models.Entities { public int CountryNum { get; private set; } [Column("id")] - public string Id { get; private set; } + public string Id { get; private set; } = null!; [ForeignKey("CountryNum")] - public virtual Country Country { get; private set; } + public virtual Country Country { get; private set; } = null!; [ForeignKey("Id")] public virtual AT_PlzDest? AtPlz { get; private set; } diff --git a/Elwig/Models/Entities/Season.cs b/Elwig/Models/Entities/Season.cs index d96e6fe..6ee1f2e 100644 --- a/Elwig/Models/Entities/Season.cs +++ b/Elwig/Models/Entities/Season.cs @@ -11,7 +11,7 @@ namespace Elwig.Models.Entities { public int Year { get; set; } [Column("currency")] - public string CurrencyCode { get; set; } + public required string CurrencyCode { get; set; } [Column("precision")] public byte Precision { get; set; } @@ -98,16 +98,16 @@ namespace Elwig.Models.Entities { } [ForeignKey("CurrencyCode")] - public virtual Currency Currency { get; private set; } + public virtual Currency Currency { get; private set; } = null!; [InverseProperty("Season")] - public virtual ISet Modifiers { get; private set; } + public virtual ISet Modifiers { get; private set; } = null!; [InverseProperty("Season")] - public virtual ISet PaymentVariants { get; private set; } + public virtual ISet PaymentVariants { get; private set; } = null!; [InverseProperty("Season")] - public virtual ISet Deliveries { get; private set; } + public virtual ISet Deliveries { get; private set; } = null!; public decimal DecFromDb(long value) { return Utils.DecFromDb(value, Precision); diff --git a/Elwig/Models/Entities/WbGem.cs b/Elwig/Models/Entities/WbGem.cs index 7e49707..554be05 100644 --- a/Elwig/Models/Entities/WbGem.cs +++ b/Elwig/Models/Entities/WbGem.cs @@ -8,12 +8,12 @@ namespace Elwig.Models.Entities { public int Gkz { get; private set; } [Column("hkid")] - public string HkId { get; private set; } + public string HkId { get; private set; } = null!; [ForeignKey("Gkz")] - public virtual AT_Gem AtGem { get; private set; } + public virtual AT_Gem AtGem { get; private set; } = null!; [ForeignKey("HkId")] - public virtual WineOrigin Origin { get; private set; } + public virtual WineOrigin Origin { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/WbGl.cs b/Elwig/Models/Entities/WbGl.cs index 56446ee..7542e00 100644 --- a/Elwig/Models/Entities/WbGl.cs +++ b/Elwig/Models/Entities/WbGl.cs @@ -9,9 +9,9 @@ namespace Elwig.Models.Entities { public int GlNr { get; private set; } [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [InverseProperty("Gl")] - public virtual ISet Kgs { get; private set; } + public virtual ISet Kgs { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/WbKg.cs b/Elwig/Models/Entities/WbKg.cs index d960b1c..90b7ea0 100644 --- a/Elwig/Models/Entities/WbKg.cs +++ b/Elwig/Models/Entities/WbKg.cs @@ -12,19 +12,19 @@ namespace Elwig.Models.Entities { public int? GlNr { get; set; } [ForeignKey("KgNr")] - public virtual AT_Kg AtKg { get; private set; } + public virtual AT_Kg AtKg { get; private set; } = null!; [ForeignKey("GlNr")] - public virtual WbGl Gl { get; private set; } + public virtual WbGl Gl { get; private set; } = null!; [InverseProperty("Kg")] - public virtual ISet Rds { get; private set; } + public virtual ISet Rds { get; private set; } = null!; [InverseProperty("DefaultWbKg")] - public virtual ISet Members { get; private set; } + public virtual ISet Members { get; private set; } = null!; [NotMapped] - public WbGem Gem => AtKg.Gem.WbGem; + public WbGem Gem => AtKg.Gem.WbGem!; [NotMapped] public WineOrigin Origin => Gem.Origin; diff --git a/Elwig/Models/Entities/WbRd.cs b/Elwig/Models/Entities/WbRd.cs index fec0df5..769e56c 100644 --- a/Elwig/Models/Entities/WbRd.cs +++ b/Elwig/Models/Entities/WbRd.cs @@ -11,9 +11,9 @@ namespace Elwig.Models.Entities { public int RdNr { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [ForeignKey("KgNr")] - public virtual WbKg Kg { get; private set; } + public virtual WbKg Kg { get; private set; } = null!; } } diff --git a/Elwig/Models/Entities/WineAttr.cs b/Elwig/Models/Entities/WineAttr.cs index 3f1328f..0202aab 100644 --- a/Elwig/Models/Entities/WineAttr.cs +++ b/Elwig/Models/Entities/WineAttr.cs @@ -6,10 +6,10 @@ namespace Elwig.Models.Entities { [Table("wine_attribute"), PrimaryKey("AttrId"), Index("Name", IsUnique = true)] public class WineAttr { [Column("attrid")] - public string AttrId { get; set; } + public required string AttrId { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("active")] public bool IsActive { get; set; } @@ -23,13 +23,6 @@ namespace Elwig.Models.Entities { [Column("fill_lower")] public int FillLower { get; set; } - public WineAttr() { } - - public WineAttr(string attrId, string name) { - AttrId = attrId; - Name = name; - } - public override string ToString() { return Name; } diff --git a/Elwig/Models/Entities/WineCult.cs b/Elwig/Models/Entities/WineCult.cs index fed7738..62f5f4e 100644 --- a/Elwig/Models/Entities/WineCult.cs +++ b/Elwig/Models/Entities/WineCult.cs @@ -6,21 +6,14 @@ namespace Elwig.Models.Entities { [Table("wine_cultivation"), PrimaryKey("CultId"), Index("Name", IsUnique = true)] public class WineCult { [Column("cultid")] - public string CultId { get; set; } + public required string CultId { get; set; } [Column("name")] - public string Name { get; set; } + public required string Name { get; set; } [Column("description")] public string? Description { get; set; } - public WineCult() { } - - public WineCult(string cultId, string name) { - CultId = cultId; - Name = name; - } - public override string ToString() { return Name; } diff --git a/Elwig/Models/Entities/WineOrigin.cs b/Elwig/Models/Entities/WineOrigin.cs index a82fea9..9fbbf07 100644 --- a/Elwig/Models/Entities/WineOrigin.cs +++ b/Elwig/Models/Entities/WineOrigin.cs @@ -9,7 +9,7 @@ namespace Elwig.Models.Entities { [Table("wine_origin"), PrimaryKey("HkId"), Index("Name", IsUnique = true)] public class WineOrigin { [Column("hkid")] - public string HkId { get; private set; } + public string HkId { get; private set; } = null!; [Column("parent_hkid")] public string? ParentHkId { get; private set; } @@ -18,16 +18,16 @@ namespace Elwig.Models.Entities { public virtual WineOrigin? Parent { get; private set; } [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [Column("blnr")] public int? BlNr { get; private set; } [InverseProperty("Origin")] - public virtual ISet Gems { get; private set; } + public virtual ISet Gems { get; private set; } = null!; [InverseProperty("Parent")] - public virtual ISet Children { get; private set; } + public virtual ISet Children { get; private set; } = null!; public int Level => (Parent?.Level + 1) ?? 0; diff --git a/Elwig/Models/Entities/WineQualLevel.cs b/Elwig/Models/Entities/WineQualLevel.cs index a0bda18..b02600d 100644 --- a/Elwig/Models/Entities/WineQualLevel.cs +++ b/Elwig/Models/Entities/WineQualLevel.cs @@ -7,7 +7,7 @@ namespace Elwig.Models.Entities { [Table("wine_quality_level"), PrimaryKey("QualId")] public class WineQualLevel : IEquatable { [Column("qualid")] - public string QualId { get; private set; } + public string QualId { get; private set; } = null!; [Column("origin_level")] public int? OriginLevel { get; private set; } @@ -22,7 +22,7 @@ namespace Elwig.Models.Entities { public double? MinOe => MinKmw != null ? Utils.KmwToOe((double)MinKmw) : null; [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; public string MinKmwStr => (MinKmw == null) ? "" : $"(mind. {MinKmw:#.0}°)"; diff --git a/Elwig/Models/Entities/WineVar.cs b/Elwig/Models/Entities/WineVar.cs index 3fec595..cbaec5f 100644 --- a/Elwig/Models/Entities/WineVar.cs +++ b/Elwig/Models/Entities/WineVar.cs @@ -5,13 +5,13 @@ namespace Elwig.Models.Entities { [Table("wine_variety"), PrimaryKey("SortId")] public class WineVar { [Column("sortid")] - public string SortId { get; private set; } + public string SortId { get; private set; } = null!; [Column("type")] - public string Type { get; private set; } + public string Type { get; private set; } = null!; [Column("name")] - public string Name { get; private set; } + public string Name { get; private set; } = null!; [Column("comment")] public string? Comment { get; private set; } diff --git a/Elwig/Windows/BaseDataWindow.xaml.Mod.cs b/Elwig/Windows/BaseDataWindow.xaml.Mod.cs index 5c1e520..965c7a7 100644 --- a/Elwig/Windows/BaseDataWindow.xaml.Mod.cs +++ b/Elwig/Windows/BaseDataWindow.xaml.Mod.cs @@ -103,7 +103,9 @@ namespace Elwig.Windows { _modChanged = true; var idx = (SeasonModifierList.SelectedIndex != -1) ? SeasonModifierList.SelectedIndex + 1 : _modList.Count; var item = new Modifier { - Year = s.Year + Year = s.Year, + ModId = "", + Name = "", }; _modList.Insert(idx, item); SeasonModifierList.SelectedIndex = idx; diff --git a/Tests/HelperTests/EbicsTest.cs b/Tests/HelperTests/EbicsTest.cs index d84280b..4a3d90f 100644 --- a/Tests/HelperTests/EbicsTest.cs +++ b/Tests/HelperTests/EbicsTest.cs @@ -29,6 +29,8 @@ namespace Tests.HelperTests { AvNr = 1, Name = "Endauszahlung", TransferDate = new DateOnly(2021, 6, 15), + Data = "", + DateString = "2021-01-31", }; using var ctx = new AppDbContext(); var members = ctx.Members.ToList();