From bec1b165bf9090662f15d11a0ec8f3adb2235906 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner <lorenz.stechauner@necronda.net> Date: Sat, 24 Aug 2024 13:35:14 +0200 Subject: [PATCH] MemberAdminWindow: Allow user to keep AreaCom YearTo when transfering --- Elwig/Dialogs/AreaComDialog.xaml | 10 +++++++--- Elwig/Dialogs/AreaComDialog.xaml.cs | 10 +++++++++- Elwig/Services/MemberService.cs | 2 +- Elwig/ViewModels/MemberAdminViewModel.cs | 1 + Elwig/Windows/MemberAdminWindow.xaml.cs | 1 + 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/Elwig/Dialogs/AreaComDialog.xaml b/Elwig/Dialogs/AreaComDialog.xaml index 4cc61a2..a0a9a06 100644 --- a/Elwig/Dialogs/AreaComDialog.xaml +++ b/Elwig/Dialogs/AreaComDialog.xaml @@ -8,7 +8,7 @@ ResizeMode="NoResize" ShowInTaskbar="False" Topmost="True" WindowStartupLocation="CenterOwner" DataContext="{Binding RelativeSource={RelativeSource Self}}" - Title="Flächenbindungen übertragen" Height="230" Width="450"> + Title="Flächenbindungen übertragen" Height="260" Width="450"> <Window.Resources> <Style TargetType="Label"> <Setter Property="HorizontalAlignment" Value="Left"/> @@ -48,11 +48,15 @@ Minimum="1900" Maximum="9999" HorizontalAlignment="Center" VerticalAlignment="Top" TextChanged="SeasonInput_TextChanged"/> + <CheckBox x:Name="CopyYearToInput" Content="Beginn der Laufzeit von Vorgänger übernehmen" Margin="0,80,0,0" + HorizontalAlignment="Center" VerticalAlignment="Top" + Checked="CopyYearToInput_Changed" Unchecked="CopyYearToInput_Changed" + IsChecked="{Binding MaintainYearTo}"/> - <TextBlock x:Name="DescBlock1" Margin="0,85,0,0" TextAlignment="Center" + <TextBlock x:Name="DescBlock1" Margin="0,105,0,0" TextAlignment="Center" HorizontalAlignment="Center" VerticalAlignment="Top"> Die Flächenbindungen beim <Bold>Vorgänger</Bold> sind bis inkl. Saison <Bold><Run x:Name="CancelSeason1"/></Bold> gültig,<LineBreak/> - und werden beim <Bold>Nachfolger</Bold> ab inkl. Saison <Bold><Run x:Name="TransferSeason"/></Bold> übernommen. + und werden beim <Bold>Nachfolger</Bold> ab <Run x:Name="DescBlock1Season" Text="inkl. Saison "/><Bold><Run x:Name="TransferSeason"/></Bold> übernommen. </TextBlock> <TextBlock x:Name="DescBlock2" Margin="0,70,0,0" TextAlignment="Center" Visibility="Hidden" HorizontalAlignment="Center" VerticalAlignment="Top"> diff --git a/Elwig/Dialogs/AreaComDialog.xaml.cs b/Elwig/Dialogs/AreaComDialog.xaml.cs index 2a54553..8a014d4 100644 --- a/Elwig/Dialogs/AreaComDialog.xaml.cs +++ b/Elwig/Dialogs/AreaComDialog.xaml.cs @@ -7,6 +7,7 @@ namespace Elwig.Dialogs { public int CancelSeason { get; set; } public int SuccessorSeason => CancelSeason + 1; + public bool MaintainYearTo { get; set; } public string AreaComNum { get; set; } public string Area { get; set; } @@ -22,6 +23,7 @@ namespace Elwig.Dialogs { QuestionBlock2.Visibility = Visibility.Visible; DescBlock1.Visibility = Visibility.Hidden; DescBlock2.Visibility = Visibility.Visible; + CopyYearToInput.Visibility = Visibility.Hidden; Height = 240; SeasonInput.Margin = new(0, 40, 0, 0); SeasonLabel.Margin = new(0, 40, 100, 0); @@ -41,7 +43,13 @@ namespace Elwig.Dialogs { CancelSeason = (int)SeasonInput.Value!; CancelSeason1.Text = $"{CancelSeason}"; CancelSeason2.Text = $"{CancelSeason}"; - TransferSeason.Text = $"{SuccessorSeason}"; + TransferSeason.Text = MaintainYearTo ? "" : $"{SuccessorSeason}"; + DescBlock1Season.Text = MaintainYearTo ? "dem originalen Beginn der FB" : "inkl. Saison "; + } + + private void CopyYearToInput_Changed(object sender, RoutedEventArgs evt) { + TransferSeason.Text = MaintainYearTo ? "" : $"{SuccessorSeason}"; + DescBlock1Season.Text = MaintainYearTo ? "dem originalen Beginn der FB" : "inkl. Saison "; } private void ConfirmButton_Click(object sender, RoutedEventArgs evt) { diff --git a/Elwig/Services/MemberService.cs b/Elwig/Services/MemberService.cs index f59d452..719fe6c 100644 --- a/Elwig/Services/MemberService.cs +++ b/Elwig/Services/MemberService.cs @@ -597,7 +597,7 @@ namespace Elwig.Services { KgNr = c.KgNr, GstNr = c.GstNr, RdNr = c.RdNr, - YearFrom = year, + YearFrom = vm.MaintainAreaComYearTo ? c.YearFrom : year, YearTo = c.YearTo, })); diff --git a/Elwig/ViewModels/MemberAdminViewModel.cs b/Elwig/ViewModels/MemberAdminViewModel.cs index 0380b51..3423c0c 100644 --- a/Elwig/ViewModels/MemberAdminViewModel.cs +++ b/Elwig/ViewModels/MemberAdminViewModel.cs @@ -11,6 +11,7 @@ namespace Elwig.ViewModels { public partial class MemberAdminViewModel : ObservableObject { public int? TransferPredecessorAreaComs = null; + public bool MaintainAreaComYearTo = false; public int? CancelAreaComs = null; public ObservableCollection<KeyValuePair<string, string>> PhoneNrTypes { get; set; } = new(Utils.PhoneNrTypes); diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs index 85285f7..b7ea298 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml.cs +++ b/Elwig/Windows/MemberAdminWindow.xaml.cs @@ -747,6 +747,7 @@ namespace Elwig.Windows { if (d.ShowDialog() != true) return; ViewModel.TransferPredecessorAreaComs = d.SuccessorSeason; + ViewModel.MaintainAreaComYearTo = d.MaintainYearTo; if (IsEditing) SetOriginalValue(PredecessorMgNrInput, -1); // hack to allow user to save UpdateButtons();