Fixed AreaCommitmentWindow buttons

This commit is contained in:
2023-03-31 22:29:02 +02:00
parent 8dadf51997
commit 57bc038357
2 changed files with 127 additions and 51 deletions

View File

@ -81,7 +81,7 @@
<Button x:Name="ContractSaveButton" Content="Speichern" Click="ContractSaveButton_Click" IsEnabled="False" Visibility="Hidden"
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,10,0,10" Width="110" Grid.Column="0"/>
<Button x:Name="ContractCancelButton" Content="Abbrechen" Click="ContractCancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,10,10,10" Width="110" Grid.Column="1"/>
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5,10,0,10" Width="110" Grid.Column="1"/>
@ -121,16 +121,16 @@
</Grid.ColumnDefinitions>
<Label Content="VNr.:" Margin="10,10,0,0" Grid.Column="0"/>
<TextBox x:Name="VNr" Margin="0,10,0,0" Width="48" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<TextBox x:Name="VNrInput" Margin="0,10,0,0" Width="48" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<Label Content="MgNr.:" Margin="10,40,0,0" Grid.Column="0"/>
<TextBox x:Name="MgNr" Margin="0,40,0,0" Width="48" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<TextBox x:Name="MgNrInput" Margin="0,40,0,0" Width="48" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<Label Content="Von:" Margin="10,10,0,0" Grid.Column="2"/>
<TextBox x:Name="YearFrom" Margin="0,10,0,0" Width="100" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left"/>
<TextBox x:Name="YearFromInput" Margin="0,10,0,0" Width="100" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left"/>
<Label Content="Bis:" Margin="10,40,0,0" Grid.Column="2"/>
<TextBox x:Name="YearTo" Margin="0,40,0,0" Width="100" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left"/>
<TextBox x:Name="YearToInput" Margin="0,40,0,0" Width="100" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left"/>
</Grid>
</GroupBox>
@ -143,19 +143,19 @@
<Label Content="Gemeinde:" Margin="10,10,0,0" Grid.Column="0"/>
<ComboBox x:Name="KgInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name"
Width="200" HorizontalAlignment="Left"
Width="200" HorizontalAlignment="Left" SelectionChanged="ComboBox_SelectionChanged"
Margin="0,10,10,0" Grid.Column="1"/>
<Label Content="Ried:" Margin="10,40,0,0" Grid.Column="0"/>
<ComboBox x:Name="RdInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name"
Width="200" HorizontalAlignment="Left"
Width="200" HorizontalAlignment="Left" SelectionChanged="ComboBox_SelectionChanged"
Margin="0,40,0,0" Grid.Column="1"/>
<Label Content="Parzelle:" Margin="10,70,0,0" Grid.Column="0"/>
<TextBox x:Name="GstNr" Margin="0,70,0,0" Width="100" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<TextBox x:Name="GstNrInput" Margin="0,70,0,0" Width="100" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<Label Content="Fläche:" Margin="10,100,0,0" Grid.Column="0"/>
<TextBox x:Name="Area" Margin="0,100,0,0" Width="100" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
<Label Content="Fläche (m²):" Margin="10,100,0,0" Grid.Column="0"/>
<TextBox x:Name="AreaInput" Margin="0,100,0,0" Width="100" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
</Grid>
</GroupBox>
@ -169,17 +169,17 @@
<Label Content="Sorte:" Margin="10,10,0,0" Grid.Column="0"/>
<ComboBox x:Name="SortInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name"
Width="200" HorizontalAlignment="Left"
Width="200" HorizontalAlignment="Left" SelectionChanged="ComboBox_SelectionChanged"
Margin="0,10,10,0" Grid.Column="1"/>
<Label Content="Attribut:" Margin="10,40,0,0" Grid.Column="0"/>
<ComboBox x:Name="AttrInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name"
Width="200" HorizontalAlignment="Left"
Width="200" HorizontalAlignment="Left" SelectionChanged="ComboBox_SelectionChanged"
Margin="0,40,10,0" Grid.Column="1"/>
<Label Content="Bewirt. Art:" Margin="10,70,0,0" Grid.Column="0"/>
<ComboBox x:Name="CultInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name"
Width="200" HorizontalAlignment="Left"
Width="200" HorizontalAlignment="Left" SelectionChanged="ComboBox_SelectionChanged"
Margin="0,70,10,0" Grid.Column="1"/>
</Grid>

View File

@ -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;