From df4e2543058826893b15615ceed868a5ed4ed491 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner <lorenz.stechauner@necronda.net> Date: Wed, 19 Jul 2023 22:09:45 +0200 Subject: [PATCH] Add Lieferungen Button in MemberAdminWindow --- Elwig/Windows/AreaComAdminWindow.xaml.cs | 5 +++-- Elwig/Windows/DeliveryAdminWindow.xaml | 25 +++++++++++++++-------- Elwig/Windows/DeliveryAdminWindow.xaml.cs | 9 +++++++- Elwig/Windows/MemberAdminWindow.xaml | 3 +-- Elwig/Windows/MemberAdminWindow.xaml.cs | 9 +++++++- 5 files changed, 37 insertions(+), 14 deletions(-) diff --git a/Elwig/Windows/AreaComAdminWindow.xaml.cs b/Elwig/Windows/AreaComAdminWindow.xaml.cs index a4f5eee..e076374 100644 --- a/Elwig/Windows/AreaComAdminWindow.xaml.cs +++ b/Elwig/Windows/AreaComAdminWindow.xaml.cs @@ -5,14 +5,15 @@ using System.Windows.Controls; using Elwig.Helpers; using Elwig.Models; using System.Threading.Tasks; +using System; namespace Elwig.Windows { public partial class AreaComAdminWindow : AdministrationWindow { private readonly Member Member; - public AreaComAdminWindow(Member member) { + public AreaComAdminWindow(int mgnr) { InitializeComponent(); - Member = member; + Member = Context.Members.Find(mgnr) ?? throw new ArgumentException("MgNr argument has invalid value"); Title = $"Flächenbindungen - {Member.AdministrativeName} - Elwig"; ExemptInputs = new Control[] { MgNrInput, ContractList, AreaCommitmentList, NewContractButton, DeleteContractButton, diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml b/Elwig/Windows/DeliveryAdminWindow.xaml index f6d3497..555ea57 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml +++ b/Elwig/Windows/DeliveryAdminWindow.xaml @@ -69,7 +69,7 @@ <Grid.RowDefinitions> <RowDefinition Height="42"/> <RowDefinition Height="*"/> - <RowDefinition Height="47"/> + <RowDefinition Height="42"/> </Grid.RowDefinitions> <Grid.ColumnDefinitions> <ColumnDefinition Width="*"/> @@ -105,18 +105,18 @@ </DataGrid> <Button x:Name="NewMemberButton" Content="Neu" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="0" Grid.Row="2"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0" Grid.Row="2"/> <Button x:Name="EditMemberButton" Content="Bearbeiten" IsEnabled="False" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="1" Grid.Row="2"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1" Grid.Row="2"/> <Button x:Name="DeleteMemberButton" Content="Löschen" IsEnabled="False" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="2" Grid.Row="2"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2" Grid.Row="2"/> <Button x:Name="SaveButton" Content="Speichern" IsEnabled="False" Visibility="Hidden" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="0"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,5,2.5,10" Grid.Column="0"/> <Button x:Name="ResetButton" Content="Zurücksetzen" IsEnabled="False" Visibility="Hidden" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="1"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,2.5,10" Grid.Column="1"/> <Button x:Name="CancelButton" Content="Abbrechen" IsEnabled="False" Visibility="Hidden" IsCancel="True" - HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,5,10" Grid.Column="2"/> + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,5,5,10" Grid.Column="2"/> </Grid> <GroupBox Header="Mitglied" Grid.Column="1" Grid.Row="1" Margin="5,5,5,5"> @@ -288,7 +288,11 @@ <GroupBox Header="Teillieferungen" Grid.Column="1" Grid.Row="3" Margin="5,5,5,5"> <Grid> - <ListBox x:Name="DeliveryPartList" Margin="5,5,5,5" + <Grid.ColumnDefinitions> + <ColumnDefinition/> + <ColumnDefinition/> + </Grid.ColumnDefinitions> + <ListBox x:Name="DeliveryPartList" Margin="5,5,5,38" Grid.ColumnSpan="2" SelectionChanged="DeliveryPartList_SelectionChanged"> <ListBox.ItemTemplate> <DataTemplate> @@ -302,6 +306,11 @@ </DataTemplate> </ListBox.ItemTemplate> </ListBox> + + <Button x:Name="ExtractDeliveryPartButton" Content="Herausheben" IsEnabled="False" + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="5,10,2.5,5" Grid.Column="0" Grid.Row="2"/> + <Button x:Name="DeleteDeliveryPartButton" Content="Löschen" IsEnabled="False" + HorizontalAlignment="Stretch" VerticalAlignment="Bottom" Margin="2.5,10,5,5" Grid.Column="1" Grid.Row="2"/> </Grid> </GroupBox> diff --git a/Elwig/Windows/DeliveryAdminWindow.xaml.cs b/Elwig/Windows/DeliveryAdminWindow.xaml.cs index c6cdb53..0330431 100644 --- a/Elwig/Windows/DeliveryAdminWindow.xaml.cs +++ b/Elwig/Windows/DeliveryAdminWindow.xaml.cs @@ -17,6 +17,7 @@ namespace Elwig.Windows { private bool IsUpdatingGradation = false; private bool IsRefreshingInputs = false; private readonly bool IsReceipt = false; + private readonly Member? Member = null; private readonly DispatcherTimer Timer; private List<string> TextFilter = new(); private readonly RoutedCommand CtrlF = new(); @@ -50,10 +51,13 @@ namespace Elwig.Windows { public DeliveryAdminWindow(bool receipt) : this() { IsReceipt = receipt; + Title = "Übernahme - Elwig"; + TodayOnlyInput.IsChecked = true; } public DeliveryAdminWindow(int mgnr) : this() { - // TODO + Member = Context.Members.Find(mgnr) ?? throw new ArgumentException("MgNr argument has invalid value"); + Title = $"Lieferungen - {Member.AdministrativeName} - Elwig"; } private void Window_Loaded(object sender, RoutedEventArgs evt) { @@ -81,6 +85,9 @@ namespace Elwig.Windows { private async Task RefreshDeliveryListQuery(bool updateSort = false) { IQueryable<Delivery> deliveryQuery = Context.Deliveries; + if (Member != null) { + deliveryQuery = deliveryQuery.Where(d => d.MgNr == Member.MgNr); + } if (TodayOnlyInput.IsChecked == true) { deliveryQuery = deliveryQuery .Where(d => (d.DateString == Utils.Today.ToString("yyyy-MM-dd") && d.TimeString.CompareTo("03:00:00") > 0) || diff --git a/Elwig/Windows/MemberAdminWindow.xaml b/Elwig/Windows/MemberAdminWindow.xaml index d9cab7c..f022bc3 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml +++ b/Elwig/Windows/MemberAdminWindow.xaml @@ -346,9 +346,8 @@ <TextBlock x:Name="AreaCommitment" Text="- m²" Grid.Column="1" HorizontalAlignment="Stretch" Margin="5,252,5,0" TextWrapping="NoWrap" VerticalAlignment="Top" FontSize="14" TextAlignment="Right"/> - <Button x:Name="DeliveryButton" Content="Lieferungen" Click="AreaCommitmentButton_Click" IsEnabled="False" + <Button x:Name="DeliveryButton" Content="Lieferungen" Click="DeliveryButton_Click" IsEnabled="False" HorizontalAlignment="Right" Margin="10,00,10,37" Width="150" VerticalAlignment="Bottom" Grid.ColumnSpan="3"/> - <Button x:Name="AreaCommitmentButton" Content="Flächenbindungen" Click="AreaCommitmentButton_Click" IsEnabled="False" HorizontalAlignment="Right" Margin="10,10,10,5" Width="150" VerticalAlignment="Bottom" Grid.ColumnSpan="3"/> </Grid> diff --git a/Elwig/Windows/MemberAdminWindow.xaml.cs b/Elwig/Windows/MemberAdminWindow.xaml.cs index be8dcb1..cb2b287 100644 --- a/Elwig/Windows/MemberAdminWindow.xaml.cs +++ b/Elwig/Windows/MemberAdminWindow.xaml.cs @@ -103,11 +103,13 @@ namespace Elwig.Windows { EditMemberButton.IsEnabled = true; DeleteMemberButton.IsEnabled = true; AreaCommitmentButton.IsEnabled = true; + DeliveryButton.IsEnabled = true; FillInputs(m); } else { EditMemberButton.IsEnabled = false; DeleteMemberButton.IsEnabled = false; AreaCommitmentButton.IsEnabled = false; + DeliveryButton.IsEnabled = false; ClearOriginalValues(); ClearInputs(); } @@ -247,7 +249,12 @@ namespace Elwig.Windows { } private void AreaCommitmentButton_Click(object sender, RoutedEventArgs evt) { - var w = new AreaComAdminWindow((Member)MemberList.SelectedItem); + var w = new AreaComAdminWindow(((Member)MemberList.SelectedItem).MgNr); + w.Show(); + } + + private void DeliveryButton_Click(object sender, RoutedEventArgs evt) { + var w = new DeliveryAdminWindow(((Member)MemberList.SelectedItem).MgNr); w.Show(); }