diff --git a/Elwig/Windows/AreaCommAdminWindow.xaml b/Elwig/Windows/AreaCommAdminWindow.xaml
index cb82cf2..5d296e6 100644
--- a/Elwig/Windows/AreaCommAdminWindow.xaml
+++ b/Elwig/Windows/AreaCommAdminWindow.xaml
@@ -81,7 +81,7 @@
+ HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5,10,0,10" Width="110" Grid.Column="1"/>
@@ -121,16 +121,16 @@
-
+
-
+
-
+
-
+
@@ -143,19 +143,19 @@
-
+
-
-
+
+
@@ -169,17 +169,17 @@
diff --git a/Elwig/Windows/AreaCommAdminWindow.xaml.cs b/Elwig/Windows/AreaCommAdminWindow.xaml.cs
index b4aae10..80b44bc 100644
--- a/Elwig/Windows/AreaCommAdminWindow.xaml.cs
+++ b/Elwig/Windows/AreaCommAdminWindow.xaml.cs
@@ -19,9 +19,20 @@ namespace Elwig.Windows {
this.member = member;
Title = $"Flächenbindungen - {member.FamilyName} {member.GivenName} - Elwig";
RefreshContractList();
+ ExemptInputs = new Control[] {
+ ContractList, AreaCommitmentList, NewContractButton, DeleteContractButton,
+ ContractSaveButton, ContractCancelButton, NewAreaCommitmentButton,
+ EditAreaCommitmentButton, DeleteAreaCommitmentButton, AreaCommitmentSaveButton,
+ AreaCommitmentResetButton, AreaCommitmentCancelButton
+ };
+ RequiredInputs = new Control[] {
+ VNrInput, MgNrInput, YearFromInput, YearToInput, KgInput,
+ GstNrInput, AreaInput, SortInput, CultInput
+ };
}
private void Window_Loaded(object sender, RoutedEventArgs e) {
+ //TODO Sources von Ried sollten sich auf Gemeinde beziehen
KgInput.ItemsSource = Context.WbKgs.Select(k => k.Kg).OrderBy(k => k.Name).ToList();
RdInput.ItemsSource = Context.WbRde.OrderBy(r => r.Name).ToList();
SortInput.ItemsSource = Context.WineVarieties.OrderBy(s => s.Name).ToList();
@@ -58,34 +69,42 @@ namespace Elwig.Windows {
private void RefreshInputs(bool validate = false) {
ClearInputStates();
+ Contract? c = (Contract)ContractList.SelectedItem;
AreaCommitment? a = (AreaCommitment)AreaCommitmentList.SelectedItem;
+
+ if (c != null) {
+ DeleteContractButton.IsEnabled = true;
+ NewAreaCommitmentButton.IsEnabled = true;
+ } else {
+ DeleteContractButton.IsEnabled = false;
+ NewAreaCommitmentButton.IsEnabled = false;
+ }
+
if (a != null) {
- //EditMemberButton.IsEnabled = true;
- //DeleteMemberButton.IsEnabled = true;
- //AreaCommitmentButton.IsEnabled = true;
+ EditAreaCommitmentButton.IsEnabled = true;
+ DeleteAreaCommitmentButton.IsEnabled = true;
FillInputs(a);
} else {
- //EditMemberButton.IsEnabled = false;
- //DeleteMemberButton.IsEnabled = false;
- //AreaCommitmentButton.IsEnabled = false;
+ EditAreaCommitmentButton.IsEnabled = false;
+ DeleteAreaCommitmentButton.IsEnabled = false;
ClearInputs();
}
- //if (!validate) ClearInputStates();
+ if (!validate) ClearInputStates();
GC.Collect();
}
private void FillInputs(AreaCommitment a) {
ClearOriginalValues();
- VNr.Text = a.VNr.ToString();
- MgNr.Text = a.Contract.MgNr.ToString();
- YearFrom.Text = a.Contract.YearFrom.ToString();
- YearTo.Text = a.Contract.YearTo.ToString();
+ VNrInput.Text = a.VNr.ToString();
+ MgNrInput.Text = a.Contract.MgNr.ToString();
+ YearFromInput.Text = a.Contract.YearFrom.ToString();
+ YearToInput.Text = a.Contract.YearTo.ToString();
KgInput.SelectedItem = a.Kg.Kg;
RdInput.SelectedItem = a.Rd;
- GstNr.Text = a.GstNr;
- Area.Text = a.Area.ToString() + "m²";
+ GstNrInput.Text = a.GstNr;
+ AreaInput.Text = a.Area.ToString();
SortInput.SelectedItem = a.WineVar;
AttrInput.SelectedItem = a.WineAttr;
@@ -98,8 +117,11 @@ namespace Elwig.Windows {
IsCreating = true;
AreaCommitmentList.IsEnabled = false;
AreaCommitmentList.SelectedItem = null;
- HideNewEditDeleteButtons();
- ShowSaveResetCancelButtons();
+ ContractList.IsEnabled = false;
+ ContractList.SelectedItem = null;
+ HideAreaCommitmentNewEditDeleteButtons();
+ ShowAreaCommitmentSaveResetCancelButtons();
+ DisableContractNewDeleteButtons();
UnlockInputs();
InitInputs();
}
@@ -111,8 +133,9 @@ namespace Elwig.Windows {
IsEditing = true;
AreaCommitmentList.IsEnabled = false;
- HideNewEditDeleteButtons();
- ShowSaveResetCancelButtons();
+ HideAreaCommitmentNewEditDeleteButtons();
+ ShowAreaCommitmentSaveResetCancelButtons();
+ DisableContractNewDeleteButtons();
UnlockInputs();
}
@@ -132,10 +155,13 @@ namespace Elwig.Windows {
private void NewContractButton_Click(object sender, RoutedEventArgs evt) {
IsCreating = true;
+ ContractList.IsEnabled = false;
+ ContractList.SelectedItem = null;
AreaCommitmentList.IsEnabled = false;
AreaCommitmentList.SelectedItem = null;
- HideNewEditDeleteButtons();
- ShowSaveResetCancelButtons();
+ HideContractNewDeleteButtons();
+ ShowContractSaveCancelButtons();
+ DisableAreaCommitmentNewEditDeleteButtons();
UnlockInputs();
InitInputs();
}
@@ -150,7 +176,7 @@ namespace Elwig.Windows {
if (r == MessageBoxResult.Yes) {
Context.Remove(c);
Context.SaveChanges();
- RefreshAreaCommitmentList();
+ RefreshContractList();
}
}
@@ -165,7 +191,7 @@ namespace Elwig.Windows {
a.KgNr = ((AT_Kg)KgInput.SelectedItem).KgNr;
a.RdNr = ((WbRd)RdInput.SelectedItem).RdNr;
- a.GstNr = GstNr.Text;
+ a.GstNr = GstNrInput.Text;
try {
if (IsEditing)
@@ -182,10 +208,12 @@ namespace Elwig.Windows {
IsEditing = false;
IsCreating = false;
AreaCommitmentList.IsEnabled = true;
- HideSaveResetCancelButtons();
- ShowNewEditDeleteButtons();
+ ContractList.IsEnabled = true;
+ HideAreaCommitmentSaveResetCancelButtons();
+ ShowAreaCommitmentNewEditDeleteButtons();
+ EnableContractNewDeleteButtons();
LockInputs();
- RefreshAreaCommitmentList();
+ RefreshContractList();
}
private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) {
@@ -201,8 +229,10 @@ namespace Elwig.Windows {
IsEditing = false;
IsCreating = false;
AreaCommitmentList.IsEnabled = true;
- HideSaveResetCancelButtons();
- ShowNewEditDeleteButtons();
+ ContractList.IsEnabled = true;
+ HideAreaCommitmentSaveResetCancelButtons();
+ ShowAreaCommitmentNewEditDeleteButtons();
+ EnableContractNewDeleteButtons();
RefreshInputs();
ClearInputStates();
LockInputs();
@@ -216,8 +246,10 @@ namespace Elwig.Windows {
IsEditing = false;
IsCreating = false;
ContractList.IsEnabled = true;
- HideSaveResetCancelButtons();
- ShowNewEditDeleteButtons();
+ AreaCommitmentList.IsEnabled = true;
+ HideContractSaveCancelButtons();
+ ShowContractNewDeleteButtons();
+ EnableAreaCommitmentNewEditDeleteButtons();
RefreshInputs();
ClearInputStates();
LockInputs();
@@ -234,7 +266,55 @@ namespace Elwig.Windows {
FillOriginalValues();
}
- private void ShowSaveResetCancelButtons() {
+ private void EnableContractNewDeleteButtons() {
+ NewContractButton.IsEnabled = true;
+ DeleteContractButton.IsEnabled = ContractList.SelectedItem != null;
+ }
+
+ private void DisableContractNewDeleteButtons() {
+ NewContractButton.IsEnabled = false;
+ DeleteContractButton.IsEnabled = false;
+ }
+
+ private void DisableAreaCommitmentNewEditDeleteButtons() {
+ NewAreaCommitmentButton.IsEnabled = false;
+ EditAreaCommitmentButton.IsEnabled = false;
+ DeleteAreaCommitmentButton.IsEnabled = false;
+ }
+
+ private void EnableAreaCommitmentNewEditDeleteButtons() {
+ NewAreaCommitmentButton.IsEnabled = ContractList.SelectedItem != null;
+ EditAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
+ DeleteAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
+ }
+
+ private void ShowContractSaveCancelButtons() {
+ ContractSaveButton.IsEnabled = false;
+ ContractCancelButton.IsEnabled = true;
+ ContractSaveButton.Visibility = Visibility.Visible;
+ ContractCancelButton.Visibility = Visibility.Visible;
+ }
+
+ private void HideContractSaveCancelButtons() {
+ ContractSaveButton.IsEnabled = false;
+ ContractCancelButton.IsEnabled = false;
+ ContractSaveButton.Visibility = Visibility.Hidden;
+ ContractCancelButton.Visibility = Visibility.Hidden;
+ }
+
+ private void ShowContractNewDeleteButtons() {
+ EnableContractNewDeleteButtons();
+ NewContractButton.Visibility = Visibility.Visible;
+ DeleteContractButton.Visibility = Visibility.Visible;
+ }
+
+ private void HideContractNewDeleteButtons() {
+ DisableContractNewDeleteButtons();
+ NewContractButton.Visibility = Visibility.Hidden;
+ DeleteContractButton.Visibility = Visibility.Hidden;
+ }
+
+ private void ShowAreaCommitmentSaveResetCancelButtons() {
AreaCommitmentSaveButton.IsEnabled = false;
AreaCommitmentResetButton.IsEnabled = false;
AreaCommitmentCancelButton.IsEnabled = true;
@@ -243,7 +323,7 @@ namespace Elwig.Windows {
AreaCommitmentCancelButton.Visibility = Visibility.Visible;
}
- private void HideSaveResetCancelButtons() {
+ private void HideAreaCommitmentSaveResetCancelButtons() {
AreaCommitmentSaveButton.IsEnabled = false;
AreaCommitmentResetButton.IsEnabled = false;
AreaCommitmentCancelButton.IsEnabled = false;
@@ -252,19 +332,15 @@ namespace Elwig.Windows {
AreaCommitmentCancelButton.Visibility = Visibility.Hidden;
}
- private void ShowNewEditDeleteButtons() {
- NewAreaCommitmentButton.IsEnabled = true;
- EditAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
- DeleteAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
+ private void ShowAreaCommitmentNewEditDeleteButtons() {
+ EnableAreaCommitmentNewEditDeleteButtons();
NewAreaCommitmentButton.Visibility = Visibility.Visible;
EditAreaCommitmentButton.Visibility = Visibility.Visible;
DeleteAreaCommitmentButton.Visibility = Visibility.Visible;
}
- private void HideNewEditDeleteButtons() {
- NewAreaCommitmentButton.IsEnabled = false;
- EditAreaCommitmentButton.IsEnabled = false;
- DeleteAreaCommitmentButton.IsEnabled = false;
+ private void HideAreaCommitmentNewEditDeleteButtons() {
+ DisableAreaCommitmentNewEditDeleteButtons();
NewAreaCommitmentButton.Visibility = Visibility.Hidden;
EditAreaCommitmentButton.Visibility = Visibility.Hidden;
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;