diff --git a/Elwig/Helpers/Export/ElwigData.cs b/Elwig/Helpers/Export/ElwigData.cs index b579220..2c0ca1b 100644 --- a/Elwig/Helpers/Export/ElwigData.cs +++ b/Elwig/Helpers/Export/ElwigData.cs @@ -766,7 +766,8 @@ namespace Elwig.Helpers.Export { ["reason"] = h.Reason, ["source"] = h.Source, ["shares"] = h.Shares, - ["signed"] = h.MemberHasSigned, + ["signed_company"] = h.CompanyHasSigned, + ["signed_member"] = h.MemberHasSigned, ["value_per_share"] = h.ValuePerShare, ["currency"] = h.CurrencyCode, ["deduct_year"] = h.DeductYear, @@ -786,7 +787,8 @@ namespace Elwig.Helpers.Export { Reason = json["reason"]!.AsValue().GetValue(), Source = json["source"]!.AsValue().GetValue(), Shares = json["shares"]!.AsValue().GetValue(), - MemberHasSigned = json["signed"]?.AsValue().GetValue() ?? false, + CompanyHasSigned = json["signed_company"]?.AsValue().GetValue() ?? false, + MemberHasSigned = json["signed_member"]?.AsValue().GetValue() ?? false, ValuePerShare = json["value_per_share"]?.AsValue().GetValue(), CurrencyCode = json["currency"]?.AsValue().GetValue(), DeductYear = json["deduct_year"]?.AsValue().GetValue(), diff --git a/Elwig/Models/Entities/MemberHistory.cs b/Elwig/Models/Entities/MemberHistory.cs index f5a5041..2aa042c 100644 --- a/Elwig/Models/Entities/MemberHistory.cs +++ b/Elwig/Models/Entities/MemberHistory.cs @@ -76,7 +76,10 @@ namespace Elwig.Models.Entities { [Column("shares")] public int Shares { get; set; } - [Column("signed")] + [Column("signed_company")] + public bool CompanyHasSigned { get; set; } + + [Column("signed_member")] public bool MemberHasSigned { get; set; } [Column("value_per_share")] diff --git a/Elwig/Resources/Sql/41-42.sql b/Elwig/Resources/Sql/41-42.sql index 2b296bf..d73f107 100644 --- a/Elwig/Resources/Sql/41-42.sql +++ b/Elwig/Resources/Sql/41-42.sql @@ -5,6 +5,9 @@ ALTER TABLE member ADD COLUMN org_auth_code TEXT CHECK (org_auth_ ALTER TABLE wine_cultivation ADD COLUMN organic INTEGER NOT NULL CHECK (organic IN (TRUE, FALSE)) DEFAULT FALSE; +ALTER TABLE member_history RENAME COLUMN signed TO signed_member; +ALTER TABLE member_history ADD COLUMN signed_company INTEGER NOT NULL CHECK (signed_company 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-___'; diff --git a/Elwig/Services/MemberBusinessSharesService.cs b/Elwig/Services/MemberBusinessSharesService.cs index c86996c..4ec2e46 100644 --- a/Elwig/Services/MemberBusinessSharesService.cs +++ b/Elwig/Services/MemberBusinessSharesService.cs @@ -26,6 +26,7 @@ namespace Elwig.Services { vm.DateEffective = h.DateEffective; vm.Reason = h.Reason + (h.Reason == MemberHistory.REASON_TRANSFER ? $"_{(h.ToMgNr == mgnr ? "from" : "to")}" : ""); vm.Shares = h.Shares; + vm.CompanyHasSigned = h.CompanyHasSigned; vm.MemberHasSigned = h.MemberHasSigned; vm.ValuePerShare = h.ValuePerShare; vm.OtherMgNr = h.FromMgNr != null && h.FromMgNr != mgnr ? h.FromMgNr : h.ToMgNr != null && h.ToMgNr != mgnr ? h.ToMgNr : null; @@ -63,6 +64,7 @@ namespace Elwig.Services { Reason = vm.Reason?.Split("_")[0] ?? MemberHistory.REASON_CONVERT, Source = "manual", Shares = vm.Shares ?? 0, + CompanyHasSigned = vm.CompanyHasSigned, MemberHasSigned = vm.MemberHasSigned, ValuePerShare = vm.ValuePerShare, CurrencyCode = vm.ValuePerShare != null ? "EUR" : null, diff --git a/Elwig/ViewModels/MemberBusinessSharesViewModel.cs b/Elwig/ViewModels/MemberBusinessSharesViewModel.cs index f4146c5..edd4b06 100644 --- a/Elwig/ViewModels/MemberBusinessSharesViewModel.cs +++ b/Elwig/ViewModels/MemberBusinessSharesViewModel.cs @@ -52,6 +52,8 @@ namespace Elwig.ViewModels { [ObservableProperty] private bool _deduct; [ObservableProperty] + private bool _companyHasSigned; + [ObservableProperty] private bool _memberHasSigned; [ObservableProperty] private string? _valuePerShareString; diff --git a/Elwig/Windows/MemberBusinessSharesAdminWindow.xaml b/Elwig/Windows/MemberBusinessSharesAdminWindow.xaml index 2c43424..b2b11b2 100644 --- a/Elwig/Windows/MemberBusinessSharesAdminWindow.xaml +++ b/Elwig/Windows/MemberBusinessSharesAdminWindow.xaml @@ -173,8 +173,11 @@ Margin="0,100,10,0" Width="78" Grid.Column="1" HorizontalAlignment="Left" TextAlignment="Right" TextChanged="DateNoticeInput_TextChanged" LostFocus="DateInput_LostFocus"/> +