diff --git a/Elwig/Documents/DeliveryNote.cs b/Elwig/Documents/DeliveryNote.cs index d6157c8..34644a7 100644 --- a/Elwig/Documents/DeliveryNote.cs +++ b/Elwig/Documents/DeliveryNote.cs @@ -153,6 +153,9 @@ namespace Elwig.Documents { if (part.Cultivation != null) { var cult = new KernedParagraph(8); cult.Add(Italic("Bewirtschaftung:")).Add(Normal(" " + part.Cultivation.Name + (part.Cultivation.Description != null ? $" ({part.Cultivation.Description})" : ""))); + if (part.Cultivation.IsOrganic) { + cult.Add(" \u2013 ").Add(Italic("Kontrollstelle:")).Add(Normal($" {Member.OrganicAuthorityCode ?? "?"}")); + } sub.AddCell(NewTd()) .AddCell(NewTd(cult, colspan: 5)) .AddCell(NewTd(colspan: 3)); diff --git a/Elwig/Models/Entities/WineCult.cs b/Elwig/Models/Entities/WineCult.cs index 62f5f4e..3feb5b1 100644 --- a/Elwig/Models/Entities/WineCult.cs +++ b/Elwig/Models/Entities/WineCult.cs @@ -11,6 +11,9 @@ namespace Elwig.Models.Entities { [Column("name")] public required string Name { get; set; } + [Column("organic")] + public bool IsOrganic { get; set; } + [Column("description")] public string? Description { get; set; } diff --git a/Elwig/Resources/Sql/41-42.sql b/Elwig/Resources/Sql/41-42.sql index 710e01e..9575535 100644 --- a/Elwig/Resources/Sql/41-42.sql +++ b/Elwig/Resources/Sql/41-42.sql @@ -3,6 +3,12 @@ ALTER TABLE member ADD COLUMN ooc_id TEXT CHECK (ooc_id REGEXP '^[0-9]{3}-[0-9]{7}$') DEFAULT NULL; ALTER TABLE member ADD COLUMN org_auth_code TEXT CHECK (org_auth_code REGEXP '^[A-Z]{2}-[A-ZÖØ]{3}-[0-9]{2,3}(-[A-Z]{2})?$') DEFAULT NULL; +ALTER TABLE wine_cultivation ADD COLUMN organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE; + UPDATE member SET org_auth_code = UPPER(SUBSTR(a.name, -11, 10)) FROM member m JOIN member_billing_address a ON a.mgnr = m.mgnr WHERE a.name LIKE '%AT-BIO-___)'; UPDATE member SET org_auth_code = UPPER(SUBSTR(a.name, -10, 10)) FROM member m JOIN member_billing_address a ON a.mgnr = m.mgnr WHERE a.name LIKE '%AT-BIO-___'; UPDATE member SET org_auth_code = UPPER(suffix) WHERE suffix LIKE 'AT-BIO-___'; + +UPDATE wine_cultivation SET organic = TRUE WHERE name LIKE '%bio%' OR name LIKE '%org%' OR description LIKE '%AT-BIO-%'; +UPDATE wine_cultivation SET description = NULL WHERE description LIKE '%AT-BIO-%'; +UPDATE wine_cultivation SET description = 'Biologische Produktion' WHERE organic; diff --git a/Elwig/Windows/BaseDataWindow.xaml b/Elwig/Windows/BaseDataWindow.xaml index 8c6d87d..921a85d 100644 --- a/Elwig/Windows/BaseDataWindow.xaml +++ b/Elwig/Windows/BaseDataWindow.xaml @@ -320,6 +320,10 @@