Entities: Use 'required' and '= null!' to get rid of warnings

This commit is contained in:
2024-02-29 15:48:09 +01:00
parent 53a25b3be4
commit f922388db9
40 changed files with 142 additions and 155 deletions

View File

@ -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<string, WineVar> vars, Dictionary<string, WineAttr> attrs, Dictionary<string, WineCult> cults) :

View File

@ -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<AT_Kg> Kgs { get; private set; }
public virtual ISet<AT_Kg> Kgs { get; private set; } = null!;
[InverseProperty("AtGem")]
public virtual WbGem? WbGem { get; private set; }

View File

@ -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; }

View File

@ -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; }

View File

@ -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<AT_PlzDest> Orte { get; private set; }
public virtual ISet<AT_PlzDest> Orte { get; private set; } = null!;
}
}

View File

@ -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!;
}
}

View File

@ -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<string> 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);
}
}
}

View File

@ -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; }

View File

@ -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!;
}
}

View File

@ -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<Member> Members { get; private set; }
public virtual ISet<Member> Members { get; private set; } = null!;
}
}

View File

@ -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; }

View File

@ -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; }

View File

@ -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!;
}
}

View File

@ -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; }

View File

@ -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<DeliveryPart> Parts { get; private set; }
public virtual ISet<DeliveryPart> Parts { get; private set; } = null!;
[NotMapped]
public IEnumerable<DeliveryPart> FilteredParts => PartFilter == null ? Parts : Parts.Where(p => PartFilter(p));

View File

@ -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<DeliveryPartModifier> PartModifiers { get; private set; }
public virtual ISet<DeliveryPartModifier> PartModifiers { get; private set; } = null!;
[NotMapped]
public IEnumerable<Modifier> 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<DeliveryPartBucket> Buckets { get; private set; }
public virtual ISet<DeliveryPartBucket> Buckets { get; private set; } = null!;
}
}

View File

@ -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!;
}
}

View File

@ -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!;
}
}

View File

@ -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<string>(); }
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<AreaCom> AreaCommitments { get; private set; }
public virtual ISet<AreaCom> AreaCommitments { get; private set; } = null!;
[NotMapped]
public IEnumerable<AreaCom> ActiveAreaCommitments => AreaCommitments
@ -164,22 +164,22 @@ namespace Elwig.Models.Entities {
public virtual BillingAddr? BillingAddress { get; private set; }
[InverseProperty("Member")]
public virtual ISet<Delivery> Deliveries { get; private set; }
public virtual ISet<Delivery> Deliveries { get; private set; } = null!;
[InverseProperty("Member")]
public virtual ISet<MemberTelNr> TelephoneNumbers { get; private set; }
public virtual ISet<MemberTelNr> TelephoneNumbers { get; private set; } = null!;
[InverseProperty("member")]
public virtual ISet<MemberEmailAddr> EmailAddresses { get; private set; }
public virtual ISet<MemberEmailAddr> 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<string> keywords) {
return Utils.GetSearchScore(new string?[] {
return Utils.GetSearchScore([
FamilyName, MiddleName, GivenName,
BillingAddress?.Name,
Comment,
}, keywords);
], keywords);
}
}
}

View File

@ -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!;
}
}

View File

@ -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!;
}
}

View File

@ -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!;
}
}

View File

@ -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" :

View File

@ -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!;
}
}

View File

@ -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!;
}
}

View File

@ -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; }

View File

@ -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<PaymentMember> MemberPayments { get; private set; }
public virtual ISet<PaymentMember> MemberPayments { get; private set; } = null!;
[InverseProperty("Variant")]
public virtual ISet<PaymentDeliveryPart> DeliveryPartPayments { get; private set; }
public virtual ISet<PaymentDeliveryPart> DeliveryPartPayments { get; private set; } = null!;
[InverseProperty("Variant")]
public virtual ISet<Credit> Credits { get; private set; }
public virtual ISet<Credit> Credits { get; private set; } = null!;
}
}

View File

@ -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; }

View File

@ -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<Modifier> Modifiers { get; private set; }
public virtual ISet<Modifier> Modifiers { get; private set; } = null!;
[InverseProperty("Season")]
public virtual ISet<PaymentVar> PaymentVariants { get; private set; }
public virtual ISet<PaymentVar> PaymentVariants { get; private set; } = null!;
[InverseProperty("Season")]
public virtual ISet<Delivery> Deliveries { get; private set; }
public virtual ISet<Delivery> Deliveries { get; private set; } = null!;
public decimal DecFromDb(long value) {
return Utils.DecFromDb(value, Precision);

View File

@ -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!;
}
}

View File

@ -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<WbKg> Kgs { get; private set; }
public virtual ISet<WbKg> Kgs { get; private set; } = null!;
}
}

View File

@ -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<WbRd> Rds { get; private set; }
public virtual ISet<WbRd> Rds { get; private set; } = null!;
[InverseProperty("DefaultWbKg")]
public virtual ISet<Member> Members { get; private set; }
public virtual ISet<Member> Members { get; private set; } = null!;
[NotMapped]
public WbGem Gem => AtKg.Gem.WbGem;
public WbGem Gem => AtKg.Gem.WbGem!;
[NotMapped]
public WineOrigin Origin => Gem.Origin;

View File

@ -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!;
}
}

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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<WbGem> Gems { get; private set; }
public virtual ISet<WbGem> Gems { get; private set; } = null!;
[InverseProperty("Parent")]
public virtual ISet<WineOrigin> Children { get; private set; }
public virtual ISet<WineOrigin> Children { get; private set; } = null!;
public int Level => (Parent?.Level + 1) ?? 0;

View File

@ -7,7 +7,7 @@ namespace Elwig.Models.Entities {
[Table("wine_quality_level"), PrimaryKey("QualId")]
public class WineQualLevel : IEquatable<WineQualLevel> {
[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}°)";

View File

@ -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; }

View File

@ -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;

View File

@ -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();