From 621efb2b95e18e669a78e485299bd19b28262e9f Mon Sep 17 00:00:00 2001 From: lionarius Date: Sat, 4 May 2024 08:50:45 +0300 Subject: [PATCH] dont modify fields if form is read only --- Lab2/src/Form/CreateLawnmower.xaml.cs | 14 ++++++++++---- Lab2/src/Form/CreateScissors.xaml.cs | 16 +++++++++++----- Lab2/src/Form/CreateScythe.xaml.cs | 16 +++++++++++----- Lab2/src/Form/CreateTrimmer.xaml.cs | 12 +++++++++--- 4 files changed, 41 insertions(+), 17 deletions(-) diff --git a/Lab2/src/Form/CreateLawnmower.xaml.cs b/Lab2/src/Form/CreateLawnmower.xaml.cs index c511b97..7654b62 100644 --- a/Lab2/src/Form/CreateLawnmower.xaml.cs +++ b/Lab2/src/Form/CreateLawnmower.xaml.cs @@ -14,6 +14,10 @@ namespace Lab2 /// private bool _save; /// + /// Доступность полей формы + /// + private readonly bool _readOnly; + /// /// Газонокосилка для редактирования /// private Lawnmower _lawnmower; @@ -34,13 +38,14 @@ namespace Lab2 _materialComboBox.ItemsSource = Enum.GetValues(typeof(Material)); _lawnmower = parLawnmower; + _readOnly = parReadOnly; DataContext = _lawnmower; Title = $"Lawnmower {_lawnmower.Id}"; - SetEnabled(!parReadOnly); - - if (parReadOnly) + SetEnabled(!_readOnly); + + if (_readOnly) _saveButton.Content = "Ok"; } @@ -89,7 +94,8 @@ namespace Lab2 try { - SyncData(); + if (!_readOnly) + SyncData(); DialogResult = true; } catch (Exception ex) diff --git a/Lab2/src/Form/CreateScissors.xaml.cs b/Lab2/src/Form/CreateScissors.xaml.cs index f7da6fc..7d9d5ae 100644 --- a/Lab2/src/Form/CreateScissors.xaml.cs +++ b/Lab2/src/Form/CreateScissors.xaml.cs @@ -14,9 +14,13 @@ namespace Lab2 /// private bool _save; /// + /// Доступность полей формы + /// + private readonly bool _readOnly; + /// /// Ножницы для редактирования /// - private Scissors _scissors; + private readonly Scissors _scissors; /// /// Конструктор @@ -34,13 +38,14 @@ namespace Lab2 _materialComboBox.ItemsSource = Enum.GetValues(typeof(Material)); _scissors = parScissors; + _readOnly = parReadOnly; DataContext = _scissors; Title = $"Scissors {_scissors.Id}"; - SetEnabled(!parReadOnly); - - if (parReadOnly) + SetEnabled(!_readOnly); + + if (_readOnly) _saveButton.Content = "Ok"; } @@ -89,7 +94,8 @@ namespace Lab2 try { - SyncData(); + if (!_readOnly) + SyncData(); DialogResult = true; } catch (Exception ex) diff --git a/Lab2/src/Form/CreateScythe.xaml.cs b/Lab2/src/Form/CreateScythe.xaml.cs index 32ac30e..87a0c2d 100644 --- a/Lab2/src/Form/CreateScythe.xaml.cs +++ b/Lab2/src/Form/CreateScythe.xaml.cs @@ -14,9 +14,13 @@ namespace Lab2 /// private bool _save; /// + /// Доступность полей формы + /// + private readonly bool _readOnly; + /// /// Коса для редактирования /// - private Scythe _scythe; + private readonly Scythe _scythe; /// /// Конструктор @@ -35,13 +39,14 @@ namespace Lab2 _bladeTypeComboBox.ItemsSource = Enum.GetValues(typeof(BladeType)); _scythe = parScythe; + _readOnly = parReadOnly; DataContext = _scythe; Title = $"Scythe {_scythe.Id}"; - SetEnabled(!parReadOnly); - - if (parReadOnly) + SetEnabled(!_readOnly); + + if (_readOnly) _saveButton.Content = "Ok"; } @@ -90,7 +95,8 @@ namespace Lab2 try { - SyncData(); + if (!_readOnly) + SyncData(); DialogResult = true; } catch (Exception ex) diff --git a/Lab2/src/Form/CreateTrimmer.xaml.cs b/Lab2/src/Form/CreateTrimmer.xaml.cs index ea52f92..5bfadfe 100644 --- a/Lab2/src/Form/CreateTrimmer.xaml.cs +++ b/Lab2/src/Form/CreateTrimmer.xaml.cs @@ -14,6 +14,10 @@ namespace Lab2 /// private bool _save; /// + /// Доступность полей формы + /// + private readonly bool _readOnly; + /// /// Триммер для редактирования /// private readonly Trimmer _trimmer; @@ -35,13 +39,14 @@ namespace Lab2 _modeComboBox.ItemsSource = Enum.GetValues(typeof(TrimmerMode)); _trimmer = parTrimmer; + _readOnly = parReadOnly; DataContext = _trimmer; Title = $"Trimmer {_trimmer.Id}"; - SetEnabled(!parReadOnly); + SetEnabled(!_readOnly); - if (parReadOnly) + if (_readOnly) _saveButton.Content = "Ok"; } @@ -90,7 +95,8 @@ namespace Lab2 try { - SyncData(); + if (!_readOnly) + SyncData(); DialogResult = true; } catch (Exception ex)