From f7a044ba7974f90d9db0a2f4c7374cf4ed6d23ec Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Thu, 2 Nov 2023 20:39:29 +0100 Subject: [PATCH] BaseDataWindow: Implement branches, attributes and cultivations --- Elwig/Models/WineCult.cs | 2 +- Elwig/Windows/AdministrationWindow.cs | 12 +- Elwig/Windows/BaseDataWindow.xaml | 170 +++++++++++- Elwig/Windows/BaseDataWindow.xaml.Branch.cs | 150 ++++++++++ Elwig/Windows/BaseDataWindow.xaml.Mod.cs | 170 ++++++++++++ Elwig/Windows/BaseDataWindow.xaml.WineAttr.cs | 150 ++++++++++ Elwig/Windows/BaseDataWindow.xaml.WineCult.cs | 125 +++++++++ Elwig/Windows/BaseDataWindow.xaml.cs | 262 ++++++------------ 8 files changed, 864 insertions(+), 177 deletions(-) create mode 100644 Elwig/Windows/BaseDataWindow.xaml.Branch.cs create mode 100644 Elwig/Windows/BaseDataWindow.xaml.Mod.cs create mode 100644 Elwig/Windows/BaseDataWindow.xaml.WineAttr.cs create mode 100644 Elwig/Windows/BaseDataWindow.xaml.WineCult.cs diff --git a/Elwig/Models/WineCult.cs b/Elwig/Models/WineCult.cs index 4c66c05..eeb1341 100644 --- a/Elwig/Models/WineCult.cs +++ b/Elwig/Models/WineCult.cs @@ -12,6 +12,6 @@ namespace Elwig.Models { public string Name { get; set; } [Column("description")] - public string Description { get; set; } + public string? Description { get; set; } } } diff --git a/Elwig/Windows/AdministrationWindow.cs b/Elwig/Windows/AdministrationWindow.cs index e0ad153..532b0d4 100644 --- a/Elwig/Windows/AdministrationWindow.cs +++ b/Elwig/Windows/AdministrationWindow.cs @@ -71,7 +71,7 @@ namespace Elwig.Windows { CheckBoxInputs = ControlUtils.FindAllChildren(this, ExemptInputs).ToArray(); CheckComboBoxInputs = ControlUtils.FindAllChildren(this, ExemptInputs).ToArray(); RadioButtonInputs = ControlUtils.FindAllChildren(this, ExemptInputs).ToArray(); - PlzInputs = TextBoxInputs.Where(tb => "PLZ".Equals(tb.Tag)).ToArray(); + PlzInputs = ControlUtils.FindAllChildren(this).Where(tb => "PLZ".Equals(tb.Tag)).ToArray(); PlzOrtInputs = PlzInputs.Select(tb => ControlUtils.FindNextSibling(tb) ?? throw new MissingMemberException()).ToArray(); foreach (var tb in TextBoxInputs) Valid[tb] = true; @@ -317,7 +317,7 @@ namespace Elwig.Windows { ); protected void UpdatePlz(TextBox plzInput, ComboBox ortInput) { - var plzInputValid = GetInputValid(plzInput); + var plzInputValid = Validator.CheckPlz(plzInput, RequiredInputs.Contains(plzInput), Context).IsValid; var item = ortInput.SelectedItem; var list = plzInputValid && plzInput.Text.Length == 4 ? Context.Postleitzahlen.Find(int.Parse(plzInput.Text))?.Orte.ToList() : null; ControlUtils.RenewItemsSource(ortInput, list, i => (i as AT_PlzDest)?.Id); @@ -551,5 +551,13 @@ namespace Elwig.Windows { protected void LfbisNrInput_LostFocus(object sender, RoutedEventArgs evt) { InputLostFocus((TextBox)sender, Validator.CheckLfbisNr); } + + protected void UpperCaseInput_TextChanged(object sender, RoutedEventArgs evt) { + InputTextChanged((TextBox)sender, Validator.CheckUpperCase); + } + + protected void UpperCaseInput_LostFocus(object sender, RoutedEventArgs evt) { + InputLostFocus((TextBox)sender, Validator.CheckUpperCase); + } } } diff --git a/Elwig/Windows/BaseDataWindow.xaml b/Elwig/Windows/BaseDataWindow.xaml index 690782e..bbafb13 100644 --- a/Elwig/Windows/BaseDataWindow.xaml +++ b/Elwig/Windows/BaseDataWindow.xaml @@ -133,13 +133,181 @@ + + + + + + + + + + + + + + + +