AreaCommWindow now inherits from AdministrationWindow
This commit is contained in:
@ -1,11 +1,11 @@
|
|||||||
<Window x:Class="Elwig.Windows.AreaCommAdminWindow"
|
<local:AdministrationWindow x:Class="Elwig.Windows.AreaCommAdminWindow"
|
||||||
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:local="clr-namespace:Elwig.Windows"
|
xmlns:local="clr-namespace:Elwig.Windows"
|
||||||
mc:Ignorable="d"
|
mc:Ignorable="d"
|
||||||
Title="Flächenbindugen - Elwig" Height="600" Width="850"
|
Title="Flächenbindugen - Elwig" Height="500" Width="950"
|
||||||
Loaded="Window_Loaded">
|
Loaded="Window_Loaded">
|
||||||
<Window.Resources>
|
<Window.Resources>
|
||||||
<Style TargetType="Label">
|
<Style TargetType="Label">
|
||||||
@ -39,10 +39,12 @@
|
|||||||
<Grid>
|
<Grid>
|
||||||
<Grid.RowDefinitions>
|
<Grid.RowDefinitions>
|
||||||
<RowDefinition Height="19"/>
|
<RowDefinition Height="19"/>
|
||||||
|
<RowDefinition Height="120"/>
|
||||||
|
<RowDefinition Height="190"/>
|
||||||
<RowDefinition Height="1*"/>
|
<RowDefinition Height="1*"/>
|
||||||
</Grid.RowDefinitions>
|
</Grid.RowDefinitions>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="370"/>
|
<ColumnDefinition Width="620"/>
|
||||||
<ColumnDefinition Width="1*"/>
|
<ColumnDefinition Width="1*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
@ -55,36 +57,84 @@
|
|||||||
<ColumnDefinition Width="125"/>
|
<ColumnDefinition Width="125"/>
|
||||||
<ColumnDefinition Width="120"/>
|
<ColumnDefinition Width="120"/>
|
||||||
<ColumnDefinition Width="125"/>
|
<ColumnDefinition Width="125"/>
|
||||||
|
<ColumnDefinition Width="125"/>
|
||||||
|
<ColumnDefinition Width="125"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
</Grid.ColumnDefinitions>
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
<DataGrid x:Name="AreaCommitmentList" AutoGenerateColumns="False" HeadersVisibility="Column" IsReadOnly="True" GridLinesVisibility="None" SelectionMode="Single"
|
<DataGrid x:Name="ContractList" AutoGenerateColumns="False" HeadersVisibility="Column" IsReadOnly="True" GridLinesVisibility="None" SelectionMode="Single"
|
||||||
CanUserDeleteRows="False" CanUserResizeRows="False" CanUserAddRows="False" SelectionChanged="AreaCommitmentList_SelectionChanged" Grid.Column="0" Grid.Row="1"
|
CanUserDeleteRows="False" CanUserResizeRows="False" CanUserAddRows="False" SelectionChanged="ContractList_SelectionChanged" Grid.Column="0" Grid.Row="1"
|
||||||
Margin="10,10,10,47" FontSize="14" Grid.ColumnSpan="3">
|
Margin="10,10,5,47" FontSize="14" Grid.ColumnSpan="2" Background="#e2e2e2">
|
||||||
<DataGrid.Columns>
|
<DataGrid.Columns>
|
||||||
<DataGridTextColumn Header="Gemeinde" Binding="{Binding Kg.Kg.Name}" Width="5*"/>
|
<DataGridTextColumn Header="VNr." Binding="{Binding VNr}" Width="*"/>
|
||||||
<DataGridTextColumn Header="Ried" Binding="{Binding Rd.Name}" Width="5*"/>
|
<DataGridTextColumn Header="Von" Binding="{Binding YearFrom}" Width="*"/>
|
||||||
<DataGridTextColumn Header="Parzelle" Binding="{Binding GstNr}" Width="3*"/>
|
<DataGridTextColumn Header="Bis" Binding="{Binding YearTo}" Width="*"/>
|
||||||
</DataGrid.Columns>
|
</DataGrid.Columns>
|
||||||
</DataGrid>
|
</DataGrid>
|
||||||
|
|
||||||
<Button x:Name="NewAreaCommitmentButton" Content="Neu" Click="NewAreaCommitmentButton_Click"
|
|
||||||
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,10,0,10" Width="110" Grid.Column="0"/>
|
|
||||||
<Button x:Name="EditAreaCommitmentButton" Content="Bearbeiten" Click="EditAreaCommitmentButton_Click" IsEnabled="False"
|
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,10,0,10" Width="110" Grid.Column="1"/>
|
|
||||||
<Button x:Name="DeleteAreaCommitmentButton" Content="Löschen" Click="DeleteAreaCommitmentButton_Click" IsEnabled="False"
|
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,10,10,10" Width="110" Grid.Column="2"/>
|
|
||||||
|
|
||||||
<Button x:Name="SaveButton" Content="Speichern" Click="SaveButton_Click" IsEnabled="False" Visibility="Hidden"
|
<Button x:Name="NewContractButton" Content="Neu" Click="NewContractButton_Click"
|
||||||
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="ResetButton" Content="Zurücksetzen" Click="ResetButton_Click" IsEnabled="False" Visibility="Hidden"
|
<Button x:Name="DeleteContractButton" Content="Löschen" Click="DeleteContractButton_Click" IsEnabled="False"
|
||||||
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,10,0,10" Width="110" Grid.Column="1"/>
|
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5,10,0,10" Width="110" Grid.Column="1"/>
|
||||||
<Button x:Name="CancelButton" Content="Abbrechen" Click="CancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
|
||||||
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,10,10,10" Width="110" Grid.Column="2"/>
|
<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"/>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<Button x:Name="NewAreaCommitmentButton" Content="Neu" Click="NewAreaCommitmentButton_Click" IsEnabled="False"
|
||||||
|
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="5,10,0,10" Width="110" Grid.Column="2"/>
|
||||||
|
<Button x:Name="EditAreaCommitmentButton" Content="Bearbeiten" Click="EditAreaCommitmentButton_Click" IsEnabled="False"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,10,0,10" Width="110" Grid.Column="3"/>
|
||||||
|
<Button x:Name="DeleteAreaCommitmentButton" Content="Löschen" Click="DeleteAreaCommitmentButton_Click" IsEnabled="False"
|
||||||
|
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,10,10,10" Width="110" Grid.Column="4"/>
|
||||||
|
|
||||||
|
<Button x:Name="AreaCommitmentSaveButton" Content="Speichern" Click="AreaCommitmentSaveButton_Click" IsEnabled="False" Visibility="Hidden"
|
||||||
|
HorizontalAlignment="Left" VerticalAlignment="Bottom" Margin="10,10,0,10" Width="110" Grid.Column="2"/>
|
||||||
|
<Button x:Name="AreaCommitmentResetButton" Content="Zurücksetzen" Click="AreaCommitmentResetButton_Click" IsEnabled="False" Visibility="Hidden"
|
||||||
|
HorizontalAlignment="Center" VerticalAlignment="Bottom" Margin="0,10,0,10" Width="110" Grid.Column="3"/>
|
||||||
|
<Button x:Name="AreaCommitmentCancelButton" Content="Abbrechen" Click="AreaCommitmentCancelButton_Click" IsEnabled="False" Visibility="Hidden" IsCancel="True"
|
||||||
|
HorizontalAlignment="Right" VerticalAlignment="Bottom" Margin="0,10,10,10" Width="110" Grid.Column="4"/>
|
||||||
|
|
||||||
|
<DataGrid x:Name="AreaCommitmentList" AutoGenerateColumns="False" HeadersVisibility="Column" IsReadOnly="True" GridLinesVisibility="None" SelectionMode="Single"
|
||||||
|
CanUserDeleteRows="False" CanUserResizeRows="False" CanUserAddRows="False" SelectionChanged="AreaCommitmentList_SelectionChanged" Grid.Column="2" Grid.Row="1"
|
||||||
|
Margin="5,10,10,47" FontSize="14" Grid.ColumnSpan="3" Background="#e2e2e2">
|
||||||
|
<DataGrid.Columns>
|
||||||
|
<DataGridTextColumn Header="Katastralgemeinde" Binding="{Binding Kg.Kg.Name}" Width="5*"/>
|
||||||
|
<DataGridTextColumn Header="Ried" Binding="{Binding Rd.Name}" Width="4*"/>
|
||||||
|
<DataGridTextColumn Header="Parzelle" Binding="{Binding GstNr}" Width="4*"/>
|
||||||
|
</DataGrid.Columns>
|
||||||
|
</DataGrid>
|
||||||
|
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
|
<GroupBox Header="Vertrag" Grid.Column="1" Grid.Row="1" Grid.RowSpan="1" Margin="5,5,5,5">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="60"/>
|
||||||
|
<ColumnDefinition Width="1*"/>
|
||||||
|
<ColumnDefinition Width="50"/>
|
||||||
|
<ColumnDefinition Width="2*"/>
|
||||||
|
</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"/>
|
||||||
|
|
||||||
<GroupBox Header="Lage" Grid.Column="1" Grid.Row="1" Grid.RowSpan="2" Margin="5,5,5,5">
|
<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"/>
|
||||||
|
|
||||||
|
<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"/>
|
||||||
|
|
||||||
|
<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"/>
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="Lage" Grid.Column="1" Grid.Row="2" Grid.RowSpan="1" Margin="5,5,5,5">
|
||||||
<Grid>
|
<Grid>
|
||||||
<Grid.ColumnDefinitions>
|
<Grid.ColumnDefinitions>
|
||||||
<ColumnDefinition Width="80"/>
|
<ColumnDefinition Width="80"/>
|
||||||
@ -95,14 +145,44 @@
|
|||||||
<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"
|
||||||
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"
|
||||||
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="GstNr" 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"/>
|
||||||
</Grid>
|
</Grid>
|
||||||
|
|
||||||
</GroupBox>
|
</GroupBox>
|
||||||
|
|
||||||
|
<GroupBox Header="Eigenschaften" Grid.Column="1" Grid.Row="3" Grid.RowSpan="1" Margin="5,5,5,5">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="80"/>
|
||||||
|
<ColumnDefinition Width="*"/>
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
|
||||||
|
<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"
|
||||||
|
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"
|
||||||
|
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"
|
||||||
|
Margin="0,70,10,0" Grid.Column="1"/>
|
||||||
|
|
||||||
|
</Grid>
|
||||||
|
</GroupBox>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Window>
|
</local:AdministrationWindow>
|
||||||
|
@ -9,40 +9,56 @@ using System.Runtime.CompilerServices;
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Elwig.Windows {
|
namespace Elwig.Windows {
|
||||||
public partial class AreaCommAdminWindow : Window {
|
public partial class AreaCommAdminWindow : AdministrationWindow {
|
||||||
private readonly AppDbContext Context = new();
|
|
||||||
private readonly Member member;
|
private readonly Member member;
|
||||||
private bool IsEditing = false;
|
private bool IsEditing = false;
|
||||||
private bool IsCreating = false;
|
private bool IsCreating = false;
|
||||||
private IEnumerable<TextBox> TextBoxInputs = Array.Empty<TextBox>();
|
|
||||||
private IEnumerable<ComboBox> ComboBoxInputs = Array.Empty<ComboBox>();
|
|
||||||
private readonly Dictionary<Control, bool> Valid = new();
|
|
||||||
private readonly Dictionary<Control, object?> OriginalValues = new();
|
|
||||||
|
|
||||||
public AreaCommAdminWindow(Member member) {
|
public AreaCommAdminWindow(Member member) {
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
this.member = member;
|
this.member = member;
|
||||||
this.Title = $"Flächenbindungen von {member.FamilyName} {member.GivenName} - Elwig";
|
Title = $"Flächenbindungen - {member.FamilyName} {member.GivenName} - Elwig";
|
||||||
RefreshAreaCommitmentList();
|
RefreshContractList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void Window_Loaded(object sender, RoutedEventArgs e) {
|
private void Window_Loaded(object sender, RoutedEventArgs e) {
|
||||||
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();
|
||||||
|
AttrInput.ItemsSource = Context.WineAttributes.OrderBy(a => a.Name).ToList();
|
||||||
|
CultInput.ItemsSource = Context.WineCultivations.OrderBy(c => c.Name).ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void RefreshAreaCommitmentList() {
|
private void RefreshAreaCommitmentList() {
|
||||||
|
Contract? contract = (Contract)ContractList.SelectedItem;
|
||||||
|
|
||||||
|
if (contract == null) {
|
||||||
|
AreaCommitmentList.ItemsSource = null;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Context.AreaCommitments.Load();
|
Context.AreaCommitments.Load();
|
||||||
List<AreaCommitment> commitments = Context.AreaCommitments.Where(a => a.Contract.MgNr == member.MgNr).ToList();
|
List<AreaCommitment> commitments = Context.AreaCommitments.Where(a => a.VNr == contract.VNr).ToList();
|
||||||
|
|
||||||
AreaCommitmentList.ItemsSource = commitments;
|
AreaCommitmentList.ItemsSource = commitments;
|
||||||
if (commitments.Count == 1)
|
if (commitments.Count == 1)
|
||||||
AreaCommitmentList.SelectedIndex = 0;
|
AreaCommitmentList.SelectedIndex = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void RefreshContractList() {
|
||||||
|
Context.Contracts.Load();
|
||||||
|
List<Contract> contracts = Context.Contracts.Where(c => c.MgNr == member.MgNr).ToList();
|
||||||
|
|
||||||
|
ContractList.ItemsSource = contracts;
|
||||||
|
if (contracts.Count == 1)
|
||||||
|
ContractList.SelectedIndex = 0;
|
||||||
|
|
||||||
|
RefreshAreaCommitmentList();
|
||||||
|
}
|
||||||
|
|
||||||
private void RefreshInputs(bool validate = false) {
|
private void RefreshInputs(bool validate = false) {
|
||||||
ClearInputStates();
|
ClearInputStates();
|
||||||
AreaCommitment a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
AreaCommitment? a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
||||||
if (a != null) {
|
if (a != null) {
|
||||||
//EditMemberButton.IsEnabled = true;
|
//EditMemberButton.IsEnabled = true;
|
||||||
//DeleteMemberButton.IsEnabled = true;
|
//DeleteMemberButton.IsEnabled = true;
|
||||||
@ -59,42 +75,25 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void FillInputs(AreaCommitment a) {
|
private void FillInputs(AreaCommitment a) {
|
||||||
OriginalValues.Clear();
|
ClearOriginalValues();
|
||||||
|
|
||||||
|
VNr.Text = a.VNr.ToString();
|
||||||
|
MgNr.Text = a.Contract.MgNr.ToString();
|
||||||
|
YearFrom.Text = a.Contract.YearFrom.ToString();
|
||||||
|
YearTo.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;
|
GstNr.Text = a.GstNr;
|
||||||
|
Area.Text = a.Area.ToString() + "m²";
|
||||||
|
|
||||||
|
SortInput.SelectedItem = a.WineVar;
|
||||||
|
AttrInput.SelectedItem = a.WineAttr;
|
||||||
|
CultInput.SelectedItem = a.WineCult;
|
||||||
|
|
||||||
FillOriginalValues();
|
FillOriginalValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void FillOriginalValues() {
|
|
||||||
foreach (var tb in TextBoxInputs)
|
|
||||||
OriginalValues[tb] = tb.Text;
|
|
||||||
foreach (var cb in ComboBoxInputs)
|
|
||||||
OriginalValues[cb] = cb.SelectedItem;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ClearInputStates() {
|
|
||||||
foreach (var tb in TextBoxInputs)
|
|
||||||
Utils.ClearInputState(tb);
|
|
||||||
foreach (var cb in ComboBoxInputs)
|
|
||||||
Utils.ClearInputState(cb);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ClearInputs() {
|
|
||||||
OriginalValues.Clear();
|
|
||||||
foreach (var tb in TextBoxInputs) {
|
|
||||||
tb.Text = " ";
|
|
||||||
tb.Text = "";
|
|
||||||
}
|
|
||||||
foreach (var cb in ComboBoxInputs) {
|
|
||||||
cb.SelectedItem = null;
|
|
||||||
if (cb.ItemsSource != null)
|
|
||||||
Utils.SetInputInvalid(cb);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private void NewAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
private void NewAreaCommitmentButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
IsCreating = true;
|
IsCreating = true;
|
||||||
AreaCommitmentList.IsEnabled = false;
|
AreaCommitmentList.IsEnabled = false;
|
||||||
@ -123,7 +122,7 @@ namespace Elwig.Windows {
|
|||||||
|
|
||||||
var r = MessageBox.Show(
|
var r = MessageBox.Show(
|
||||||
$"Soll die Flächenbindung \"{a.Kg.Kg.Name}, {a.Rd.Name}\", (MgNr. {a.GstNr}) wirklich unwiderruflich gelöscht werden?",
|
$"Soll die Flächenbindung \"{a.Kg.Kg.Name}, {a.Rd.Name}\", (MgNr. {a.GstNr}) wirklich unwiderruflich gelöscht werden?",
|
||||||
"Mitglied löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
"Flächenbindung löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||||
if (r == MessageBoxResult.Yes) {
|
if (r == MessageBoxResult.Yes) {
|
||||||
Context.Remove(a);
|
Context.Remove(a);
|
||||||
Context.SaveChanges();
|
Context.SaveChanges();
|
||||||
@ -131,13 +130,39 @@ namespace Elwig.Windows {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void SaveButton_Click(object sender, RoutedEventArgs evt) {
|
private void NewContractButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
|
IsCreating = true;
|
||||||
|
AreaCommitmentList.IsEnabled = false;
|
||||||
|
AreaCommitmentList.SelectedItem = null;
|
||||||
|
HideNewEditDeleteButtons();
|
||||||
|
ShowSaveResetCancelButtons();
|
||||||
|
UnlockInputs();
|
||||||
|
InitInputs();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void DeleteContractButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
|
Contract c = (Contract)ContractList.SelectedItem;
|
||||||
|
if (c == null) return;
|
||||||
|
|
||||||
|
var r = MessageBox.Show(
|
||||||
|
$"Soll der Vertrag \"{c.VNr} und alle enthaltenen Flächenbindungen wirklich unwiderruflich gelöscht werden?",
|
||||||
|
"Vertrag löschen", MessageBoxButton.YesNo, MessageBoxImage.Warning, MessageBoxResult.No);
|
||||||
|
if (r == MessageBoxResult.Yes) {
|
||||||
|
Context.Remove(c);
|
||||||
|
Context.SaveChanges();
|
||||||
|
RefreshAreaCommitmentList();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void AreaCommitmentSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
AreaCommitment? a = new();
|
AreaCommitment? a = new();
|
||||||
if (IsEditing)
|
if (IsEditing)
|
||||||
a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
a = (AreaCommitment)AreaCommitmentList.SelectedItem;
|
||||||
else if (IsCreating)
|
else if (IsCreating)
|
||||||
a = new();
|
a = new();
|
||||||
|
|
||||||
|
//TODO
|
||||||
|
|
||||||
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 = GstNr.Text;
|
||||||
@ -163,7 +188,7 @@ namespace Elwig.Windows {
|
|||||||
RefreshAreaCommitmentList();
|
RefreshAreaCommitmentList();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ResetButton_Click(object sender, RoutedEventArgs evt) {
|
private void AreaCommitmentResetButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
if (IsEditing) {
|
if (IsEditing) {
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
} else if (IsCreating) {
|
} else if (IsCreating) {
|
||||||
@ -172,7 +197,7 @@ namespace Elwig.Windows {
|
|||||||
UpdateButtons();
|
UpdateButtons();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void CancelButton_Click(object sender, RoutedEventArgs evt) {
|
private void AreaCommitmentCancelButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
IsEditing = false;
|
IsEditing = false;
|
||||||
IsCreating = false;
|
IsCreating = false;
|
||||||
AreaCommitmentList.IsEnabled = true;
|
AreaCommitmentList.IsEnabled = true;
|
||||||
@ -183,69 +208,48 @@ namespace Elwig.Windows {
|
|||||||
LockInputs();
|
LockInputs();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LockInputs() {
|
private void ContractSaveButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
foreach (var tb in TextBoxInputs)
|
//TODO
|
||||||
tb.IsReadOnly = true;
|
|
||||||
foreach (var cb in ComboBoxInputs)
|
|
||||||
cb.IsEnabled = false;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UnlockInputs() {
|
private void ContractCancelButton_Click(object sender, RoutedEventArgs evt) {
|
||||||
foreach (var tb in TextBoxInputs)
|
IsEditing = false;
|
||||||
tb.IsReadOnly = false;
|
IsCreating = false;
|
||||||
foreach (var cb in ComboBoxInputs)
|
ContractList.IsEnabled = true;
|
||||||
cb.IsEnabled = true;
|
HideSaveResetCancelButtons();
|
||||||
|
ShowNewEditDeleteButtons();
|
||||||
|
RefreshInputs();
|
||||||
|
ClearInputStates();
|
||||||
|
LockInputs();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateButtons() {
|
override protected void UpdateButtons() {
|
||||||
if (!IsEditing && !IsCreating) return;
|
if (!IsEditing && !IsCreating) return;
|
||||||
bool ch = HasChanged(), v = IsValid();
|
bool ch = HasChanged(), v = IsValid();
|
||||||
ResetButton.IsEnabled = (ch);
|
AreaCommitmentResetButton.IsEnabled = (ch);
|
||||||
SaveButton.IsEnabled = (v && ch);
|
AreaCommitmentSaveButton.IsEnabled = (v && ch);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitInputs() {
|
private void InitInputs() {
|
||||||
FillOriginalValues();
|
FillOriginalValues();
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool HasChanged() {
|
|
||||||
return !IsValid() ||
|
|
||||||
TextBoxInputs.Any(InputHasChanged) ||
|
|
||||||
ComboBoxInputs.Any(InputHasChanged);
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool InputHasChanged(Control input) {
|
|
||||||
if (!OriginalValues.ContainsKey(input)) {
|
|
||||||
return false;
|
|
||||||
} else if (input is TextBox tb) {
|
|
||||||
return OriginalValues[tb]?.ToString() != tb.Text;
|
|
||||||
} else if (input is ComboBox sb) {
|
|
||||||
return OriginalValues[sb] != sb.SelectedItem;
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private bool IsValid() {
|
|
||||||
return Valid.All(kv => kv.Value) && ComboBoxInputs.All(cb => cb.ItemsSource == null || cb.SelectedItem != null);
|
|
||||||
}
|
|
||||||
|
|
||||||
private void ShowSaveResetCancelButtons() {
|
private void ShowSaveResetCancelButtons() {
|
||||||
SaveButton.IsEnabled = false;
|
AreaCommitmentSaveButton.IsEnabled = false;
|
||||||
ResetButton.IsEnabled = false;
|
AreaCommitmentResetButton.IsEnabled = false;
|
||||||
CancelButton.IsEnabled = true;
|
AreaCommitmentCancelButton.IsEnabled = true;
|
||||||
SaveButton.Visibility = Visibility.Visible;
|
AreaCommitmentSaveButton.Visibility = Visibility.Visible;
|
||||||
ResetButton.Visibility = Visibility.Visible;
|
AreaCommitmentResetButton.Visibility = Visibility.Visible;
|
||||||
CancelButton.Visibility = Visibility.Visible;
|
AreaCommitmentCancelButton.Visibility = Visibility.Visible;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HideSaveResetCancelButtons() {
|
private void HideSaveResetCancelButtons() {
|
||||||
SaveButton.IsEnabled = false;
|
AreaCommitmentSaveButton.IsEnabled = false;
|
||||||
ResetButton.IsEnabled = false;
|
AreaCommitmentResetButton.IsEnabled = false;
|
||||||
CancelButton.IsEnabled = false;
|
AreaCommitmentCancelButton.IsEnabled = false;
|
||||||
SaveButton.Visibility = Visibility.Hidden;
|
AreaCommitmentSaveButton.Visibility = Visibility.Hidden;
|
||||||
ResetButton.Visibility = Visibility.Hidden;
|
AreaCommitmentResetButton.Visibility = Visibility.Hidden;
|
||||||
CancelButton.Visibility = Visibility.Hidden;
|
AreaCommitmentCancelButton.Visibility = Visibility.Hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ShowNewEditDeleteButtons() {
|
private void ShowNewEditDeleteButtons() {
|
||||||
@ -266,6 +270,10 @@ namespace Elwig.Windows {
|
|||||||
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;
|
DeleteAreaCommitmentButton.Visibility = Visibility.Hidden;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void ContractList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||||
|
RefreshAreaCommitmentList();
|
||||||
|
}
|
||||||
|
|
||||||
private void AreaCommitmentList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
private void AreaCommitmentList_SelectionChanged(object sender, SelectionChangedEventArgs evt) {
|
||||||
RefreshInputs();
|
RefreshInputs();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user