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" <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"/> 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" <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> </Grid.ColumnDefinitions>
<Label Content="VNr.:" Margin="10,10,0,0" Grid.Column="0"/> <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"/> <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"/> <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"/> <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> </Grid>
</GroupBox> </GroupBox>
@ -143,19 +143,19 @@
<Label Content="Gemeinde:" Margin="10,10,0,0" Grid.Column="0"/> <Label Content="Gemeinde:" Margin="10,10,0,0" Grid.Column="0"/>
<ComboBox x:Name="KgInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name" <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"/> Margin="0,10,10,0" Grid.Column="1"/>
<Label Content="Ried:" Margin="10,40,0,0" Grid.Column="0"/> <Label Content="Ried:" Margin="10,40,0,0" Grid.Column="0"/>
<ComboBox x:Name="RdInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name" <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"/> Margin="0,40,0,0" Grid.Column="1"/>
<Label Content="Parzelle:" Margin="10,70,0,0" Grid.Column="0"/> <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"/> <Label Content="Fläche (m²):" 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"/> <TextBox x:Name="AreaInput" Margin="0,100,0,0" Width="100" Grid.Column="1" TextAlignment="Right" HorizontalAlignment="Left"/>
</Grid> </Grid>
</GroupBox> </GroupBox>
@ -169,17 +169,17 @@
<Label Content="Sorte:" Margin="10,10,0,0" Grid.Column="0"/> <Label Content="Sorte:" Margin="10,10,0,0" Grid.Column="0"/>
<ComboBox x:Name="SortInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name" <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"/> Margin="0,10,10,0" Grid.Column="1"/>
<Label Content="Attribut:" Margin="10,40,0,0" Grid.Column="0"/> <Label Content="Attribut:" Margin="10,40,0,0" Grid.Column="0"/>
<ComboBox x:Name="AttrInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name" <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"/> Margin="0,40,10,0" Grid.Column="1"/>
<Label Content="Bewirt. Art:" Margin="10,70,0,0" Grid.Column="0"/> <Label Content="Bewirt. Art:" Margin="10,70,0,0" Grid.Column="0"/>
<ComboBox x:Name="CultInput" ItemTemplate="{StaticResource KgTemplate}" TextSearch.TextPath="Name" <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"/> Margin="0,70,10,0" Grid.Column="1"/>
</Grid> </Grid>

View File

@ -19,9 +19,20 @@ namespace Elwig.Windows {
this.member = member; this.member = member;
Title = $"Flächenbindungen - {member.FamilyName} {member.GivenName} - Elwig"; Title = $"Flächenbindungen - {member.FamilyName} {member.GivenName} - Elwig";
RefreshContractList(); 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) { 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(); KgInput.ItemsSource = Context.WbKgs.Select(k => k.Kg).OrderBy(k => k.Name).ToList();
RdInput.ItemsSource = Context.WbRde.OrderBy(r => r.Name).ToList(); RdInput.ItemsSource = Context.WbRde.OrderBy(r => r.Name).ToList();
SortInput.ItemsSource = Context.WineVarieties.OrderBy(s => s.Name).ToList(); SortInput.ItemsSource = Context.WineVarieties.OrderBy(s => s.Name).ToList();
@ -58,34 +69,42 @@ namespace Elwig.Windows {
private void RefreshInputs(bool validate = false) { private void RefreshInputs(bool validate = false) {
ClearInputStates(); ClearInputStates();
Contract? c = (Contract)ContractList.SelectedItem;
AreaCommitment? a = (AreaCommitment)AreaCommitmentList.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) { if (a != null) {
//EditMemberButton.IsEnabled = true; EditAreaCommitmentButton.IsEnabled = true;
//DeleteMemberButton.IsEnabled = true; DeleteAreaCommitmentButton.IsEnabled = true;
//AreaCommitmentButton.IsEnabled = true;
FillInputs(a); FillInputs(a);
} else { } else {
//EditMemberButton.IsEnabled = false; EditAreaCommitmentButton.IsEnabled = false;
//DeleteMemberButton.IsEnabled = false; DeleteAreaCommitmentButton.IsEnabled = false;
//AreaCommitmentButton.IsEnabled = false;
ClearInputs(); ClearInputs();
} }
//if (!validate) ClearInputStates(); if (!validate) ClearInputStates();
GC.Collect(); GC.Collect();
} }
private void FillInputs(AreaCommitment a) { private void FillInputs(AreaCommitment a) {
ClearOriginalValues(); ClearOriginalValues();
VNr.Text = a.VNr.ToString(); VNrInput.Text = a.VNr.ToString();
MgNr.Text = a.Contract.MgNr.ToString(); MgNrInput.Text = a.Contract.MgNr.ToString();
YearFrom.Text = a.Contract.YearFrom.ToString(); YearFromInput.Text = a.Contract.YearFrom.ToString();
YearTo.Text = a.Contract.YearTo.ToString(); YearToInput.Text = a.Contract.YearTo.ToString();
KgInput.SelectedItem = a.Kg.Kg; KgInput.SelectedItem = a.Kg.Kg;
RdInput.SelectedItem = a.Rd; RdInput.SelectedItem = a.Rd;
GstNr.Text = a.GstNr; GstNrInput.Text = a.GstNr;
Area.Text = a.Area.ToString() + "m²"; AreaInput.Text = a.Area.ToString();
SortInput.SelectedItem = a.WineVar; SortInput.SelectedItem = a.WineVar;
AttrInput.SelectedItem = a.WineAttr; AttrInput.SelectedItem = a.WineAttr;
@ -98,8 +117,11 @@ namespace Elwig.Windows {
IsCreating = true; IsCreating = true;
AreaCommitmentList.IsEnabled = false; AreaCommitmentList.IsEnabled = false;
AreaCommitmentList.SelectedItem = null; AreaCommitmentList.SelectedItem = null;
HideNewEditDeleteButtons(); ContractList.IsEnabled = false;
ShowSaveResetCancelButtons(); ContractList.SelectedItem = null;
HideAreaCommitmentNewEditDeleteButtons();
ShowAreaCommitmentSaveResetCancelButtons();
DisableContractNewDeleteButtons();
UnlockInputs(); UnlockInputs();
InitInputs(); InitInputs();
} }
@ -111,8 +133,9 @@ namespace Elwig.Windows {
IsEditing = true; IsEditing = true;
AreaCommitmentList.IsEnabled = false; AreaCommitmentList.IsEnabled = false;
HideNewEditDeleteButtons(); HideAreaCommitmentNewEditDeleteButtons();
ShowSaveResetCancelButtons(); ShowAreaCommitmentSaveResetCancelButtons();
DisableContractNewDeleteButtons();
UnlockInputs(); UnlockInputs();
} }
@ -132,10 +155,13 @@ namespace Elwig.Windows {
private void NewContractButton_Click(object sender, RoutedEventArgs evt) { private void NewContractButton_Click(object sender, RoutedEventArgs evt) {
IsCreating = true; IsCreating = true;
ContractList.IsEnabled = false;
ContractList.SelectedItem = null;
AreaCommitmentList.IsEnabled = false; AreaCommitmentList.IsEnabled = false;
AreaCommitmentList.SelectedItem = null; AreaCommitmentList.SelectedItem = null;
HideNewEditDeleteButtons(); HideContractNewDeleteButtons();
ShowSaveResetCancelButtons(); ShowContractSaveCancelButtons();
DisableAreaCommitmentNewEditDeleteButtons();
UnlockInputs(); UnlockInputs();
InitInputs(); InitInputs();
} }
@ -150,7 +176,7 @@ namespace Elwig.Windows {
if (r == MessageBoxResult.Yes) { if (r == MessageBoxResult.Yes) {
Context.Remove(c); Context.Remove(c);
Context.SaveChanges(); Context.SaveChanges();
RefreshAreaCommitmentList(); RefreshContractList();
} }
} }
@ -165,7 +191,7 @@ namespace Elwig.Windows {
a.KgNr = ((AT_Kg)KgInput.SelectedItem).KgNr; a.KgNr = ((AT_Kg)KgInput.SelectedItem).KgNr;
a.RdNr = ((WbRd)RdInput.SelectedItem).RdNr; a.RdNr = ((WbRd)RdInput.SelectedItem).RdNr;
a.GstNr = GstNr.Text; a.GstNr = GstNrInput.Text;
try { try {
if (IsEditing) if (IsEditing)
@ -182,10 +208,12 @@ namespace Elwig.Windows {
IsEditing = false; IsEditing = false;
IsCreating = false; IsCreating = false;
AreaCommitmentList.IsEnabled = true; AreaCommitmentList.IsEnabled = true;
HideSaveResetCancelButtons(); ContractList.IsEnabled = true;
ShowNewEditDeleteButtons(); HideAreaCommitmentSaveResetCancelButtons();
ShowAreaCommitmentNewEditDeleteButtons();
EnableContractNewDeleteButtons();
LockInputs(); LockInputs();
RefreshAreaCommitmentList(); RefreshContractList();
} }
private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) { private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) {
@ -201,8 +229,10 @@ namespace Elwig.Windows {
IsEditing = false; IsEditing = false;
IsCreating = false; IsCreating = false;
AreaCommitmentList.IsEnabled = true; AreaCommitmentList.IsEnabled = true;
HideSaveResetCancelButtons(); ContractList.IsEnabled = true;
ShowNewEditDeleteButtons(); HideAreaCommitmentSaveResetCancelButtons();
ShowAreaCommitmentNewEditDeleteButtons();
EnableContractNewDeleteButtons();
RefreshInputs(); RefreshInputs();
ClearInputStates(); ClearInputStates();
LockInputs(); LockInputs();
@ -216,8 +246,10 @@ namespace Elwig.Windows {
IsEditing = false; IsEditing = false;
IsCreating = false; IsCreating = false;
ContractList.IsEnabled = true; ContractList.IsEnabled = true;
HideSaveResetCancelButtons(); AreaCommitmentList.IsEnabled = true;
ShowNewEditDeleteButtons(); HideContractSaveCancelButtons();
ShowContractNewDeleteButtons();
EnableAreaCommitmentNewEditDeleteButtons();
RefreshInputs(); RefreshInputs();
ClearInputStates(); ClearInputStates();
LockInputs(); LockInputs();
@ -234,7 +266,55 @@ namespace Elwig.Windows {
FillOriginalValues(); 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; AreaCommitmentSaveButton.IsEnabled = false;
AreaCommitmentResetButton.IsEnabled = false; AreaCommitmentResetButton.IsEnabled = false;
AreaCommitmentCancelButton.IsEnabled = true; AreaCommitmentCancelButton.IsEnabled = true;
@ -243,7 +323,7 @@ namespace Elwig.Windows {
AreaCommitmentCancelButton.Visibility = Visibility.Visible; AreaCommitmentCancelButton.Visibility = Visibility.Visible;
} }
private void HideSaveResetCancelButtons() { private void HideAreaCommitmentSaveResetCancelButtons() {
AreaCommitmentSaveButton.IsEnabled = false; AreaCommitmentSaveButton.IsEnabled = false;
AreaCommitmentResetButton.IsEnabled = false; AreaCommitmentResetButton.IsEnabled = false;
AreaCommitmentCancelButton.IsEnabled = false; AreaCommitmentCancelButton.IsEnabled = false;
@ -252,19 +332,15 @@ namespace Elwig.Windows {
AreaCommitmentCancelButton.Visibility = Visibility.Hidden; AreaCommitmentCancelButton.Visibility = Visibility.Hidden;
} }
private void ShowNewEditDeleteButtons() { private void ShowAreaCommitmentNewEditDeleteButtons() {
NewAreaCommitmentButton.IsEnabled = true; EnableAreaCommitmentNewEditDeleteButtons();
EditAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
DeleteAreaCommitmentButton.IsEnabled = AreaCommitmentList.SelectedItem != null;
NewAreaCommitmentButton.Visibility = Visibility.Visible; NewAreaCommitmentButton.Visibility = Visibility.Visible;
EditAreaCommitmentButton.Visibility = Visibility.Visible; EditAreaCommitmentButton.Visibility = Visibility.Visible;
DeleteAreaCommitmentButton.Visibility = Visibility.Visible; DeleteAreaCommitmentButton.Visibility = Visibility.Visible;
} }
private void HideNewEditDeleteButtons() { private void HideAreaCommitmentNewEditDeleteButtons() {
NewAreaCommitmentButton.IsEnabled = false; DisableAreaCommitmentNewEditDeleteButtons();
EditAreaCommitmentButton.IsEnabled = false;
DeleteAreaCommitmentButton.IsEnabled = false;
NewAreaCommitmentButton.Visibility = Visibility.Hidden; NewAreaCommitmentButton.Visibility = Visibility.Hidden;
EditAreaCommitmentButton.Visibility = Visibility.Hidden; EditAreaCommitmentButton.Visibility = Visibility.Hidden;
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden; DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;