MemberAdminWindow+DeliveryAdminWindow: Add button to jumpt to member (predecessor)

This commit is contained in:
2024-02-25 19:44:18 +01:00
parent 7181d744fc
commit 665e16d78f
5 changed files with 50 additions and 3 deletions

View File

@ -248,5 +248,11 @@ namespace Elwig {
public static ChartWindow FocusChartWindow(int year, int avnr) { public static ChartWindow FocusChartWindow(int year, int avnr) {
return FocusWindow<ChartWindow>(() => new(year, avnr), w => w.Year == year && w.AvNr == avnr); return FocusWindow<ChartWindow>(() => new(year, avnr), w => w.Year == year && w.AvNr == avnr);
} }
public static MemberAdminWindow FocusMember(int mgnr) {
var w = FocusWindow<MemberAdminWindow>(() => new());
w.FocusMember(mgnr);
return w;
}
} }
} }

View File

@ -236,9 +236,12 @@
<Label Content="Mitglied:" Margin="10,10,0,0" Grid.Column="0"/> <Label Content="Mitglied:" Margin="10,10,0,0" Grid.Column="0"/>
<TextBox x:Name="MgNrInput" Width="48" Grid.Row="1" Grid.Column="1" Margin="0,10,0,0" HorizontalAlignment="Left" TextAlignment="Right" <TextBox x:Name="MgNrInput" Width="48" Grid.Row="1" Grid.Column="1" Margin="0,10,0,0" HorizontalAlignment="Left" TextAlignment="Right"
TextChanged="MgNrInput_TextChanged" LostFocus="MgNrInput_LostFocus" KeyUp="Input_KeyUp"/> TextChanged="MgNrInput_TextChanged" LostFocus="MgNrInput_LostFocus" KeyUp="Input_KeyUp"/>
<ComboBox x:Name="MemberInput" Grid.Column="1" Margin="53,10,10,10" IsEditable="True" <ComboBox x:Name="MemberInput" Grid.Column="1" Margin="53,10,40,10" IsEditable="True"
ItemTemplate="{StaticResource MemberAdminNameTemplate}" TextSearch.TextPath="AdministrativeName" ItemTemplate="{StaticResource MemberAdminNameTemplate}" TextSearch.TextPath="AdministrativeName"
SelectionChanged="MemberInput_SelectionChanged" KeyUp="Input_KeyUp"/> SelectionChanged="MemberInput_SelectionChanged" KeyUp="Input_KeyUp"/>
<Button x:Name="MemberReferenceButton" Grid.Column="1" Height="25" Width="25" FontFamily="Segoe MDL2 Assets" Content="&#xEE35;" Padding="0,0,0,0"
Margin="10,10,10,10" VerticalAlignment="Top" HorizontalAlignment="Right" ToolTip="Zu Mitglied springen"
Click="MemberReferenceButton_Click"/>
<Label Content="Wohnort:" Margin="10,38,0,0" Grid.Column="0"/> <Label Content="Wohnort:" Margin="10,38,0,0" Grid.Column="0"/>
<TextBox x:Name="MemberAddressField" Grid.Column="1" Margin="0,40,10,10" FontSize="12" Height="22" <TextBox x:Name="MemberAddressField" Grid.Column="1" Margin="0,40,10,10" FontSize="12" Height="22"

View File

@ -1789,5 +1789,10 @@ namespace Elwig.Windows {
} }
CheckBox_Changed(sender, evt); CheckBox_Changed(sender, evt);
} }
private void MemberReferenceButton_Click(object sender, RoutedEventArgs evt) {
if (MemberInput.SelectedItem is not Member m) return;
App.FocusMember(m.MgNr);
}
} }
} }

View File

@ -53,9 +53,9 @@
<MenuItem x:Name="Menu_Print_Letterhead" Header="Briefkopf drucken" <MenuItem x:Name="Menu_Print_Letterhead" Header="Briefkopf drucken"
Click="Menu_Print_Letterhead_Click"/> Click="Menu_Print_Letterhead_Click"/>
<MenuItem x:Name="Menu_Show_MemberDataSheet" Header="Stammdatenblatt anzeigen" IsEnabled="False" Tag="Print" <MenuItem x:Name="Menu_Show_MemberDataSheet" Header="Stammdatenblatt anzeigen" IsEnabled="False" Tag="Print"
Click="Menu_Show_MemberDataSheet_Click"/> Click="Menu_Show_MemberDataSheet_Click" InputGestureText="Strg+P"/>
<MenuItem x:Name="Menu_Print_MemberDataSheet" Header="Stammdatenblatt drucken" IsEnabled="False" Tag="Print" <MenuItem x:Name="Menu_Print_MemberDataSheet" Header="Stammdatenblatt drucken" IsEnabled="False" Tag="Print"
Click="Menu_Print_MemberDataSheet_Click"/> Click="Menu_Print_MemberDataSheet_Click" InputGestureText="Strg+Shift+P"/>
<MenuItem Header="Briefköpfe drucken"> <MenuItem Header="Briefköpfe drucken">
<MenuItem x:Name="Menu_Print_Letterheads_MgNr" Header="nach MgNr. sortiert" IsEnabled="False" Tag="Print" <MenuItem x:Name="Menu_Print_Letterheads_MgNr" Header="nach MgNr. sortiert" IsEnabled="False" Tag="Print"
Click="Menu_Print_Letterheads_MgNr_Click"/> Click="Menu_Print_Letterheads_MgNr_Click"/>
@ -190,6 +190,9 @@
<Label Content="Vorg.:" Margin="10,10,0,0" Grid.Column="2"/> <Label Content="Vorg.:" Margin="10,10,0,0" Grid.Column="2"/>
<TextBox x:Name="PredecessorMgNrInput" Margin="0,10,10,0" Width="48" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left" <TextBox x:Name="PredecessorMgNrInput" Margin="0,10,10,0" Width="48" Grid.Column="3" TextAlignment="Right" HorizontalAlignment="Left"
TextChanged="PredecessorMgNrInput_TextChanged" LostFocus="PredecessorMgNrInput_LostFocus"/> TextChanged="PredecessorMgNrInput_TextChanged" LostFocus="PredecessorMgNrInput_LostFocus"/>
<Button x:Name="MemberReferenceButton" Grid.Column="3" Height="25" Width="25" FontFamily="Segoe MDL2 Assets" Content="&#xEE35;" Padding="0,0,0,0"
Margin="53,10,10,10" VerticalAlignment="Top" HorizontalAlignment="Left" IsEnabled="False" ToolTip="Zu Vorgänger springen"
Click="MemberReferenceButton_Click"/>
<Label Content="Präfix:" Margin="10,40,0,0" Grid.Column="2"/> <Label Content="Präfix:" Margin="10,40,0,0" Grid.Column="2"/>
<TextBox x:Name="PrefixInput" Margin="0,40,10,0" Grid.Column="3" <TextBox x:Name="PrefixInput" Margin="0,40,10,0" Grid.Column="3"

View File

@ -79,6 +79,28 @@ namespace Elwig.Windows {
LockInputs(); LockInputs();
} }
public void FocusMember(int mgnr) {
if (IsEditing || IsCreating) return;
var item = MemberList.ItemsSource.Cast<Member>().FirstOrDefault(m => m.MgNr == mgnr);
if (item == null) {
var m = Context.Members.Find(mgnr);
if (m == null) return;
if (SearchInput.Text.Length > 0) {
SearchInput.Text = "";
}
if (!m.IsActive) {
ActiveMemberInput.IsChecked = false;
}
App.MainDispatcher.BeginInvoke(async () => {
await Task.Delay(500);
FocusMember(mgnr);
});
} else {
MemberList.SelectedItem = item;
MemberList.ScrollIntoView(MemberList.SelectedItem);
}
}
private async Task RefreshMemberList() { private async Task RefreshMemberList() {
await Context.Members.LoadAsync(); await Context.Members.LoadAsync();
await RefreshMemberListQuery(); await RefreshMemberListQuery();
@ -230,6 +252,7 @@ namespace Elwig.Windows {
BranchInput.SelectedItem = Context.Branches.First(); BranchInput.SelectedItem = Context.Branches.First();
ActiveInput.IsChecked = true; ActiveInput.IsChecked = true;
ContactPostalInput.IsChecked = true; ContactPostalInput.IsChecked = true;
MemberReferenceButton.IsEnabled = false;
SetDefaultValue(MgNrInput); SetDefaultValue(MgNrInput);
SetDefaultValue(EntryDateInput); SetDefaultValue(EntryDateInput);
@ -705,6 +728,7 @@ namespace Elwig.Windows {
MgNrInput.Text = m.MgNr.ToString(); MgNrInput.Text = m.MgNr.ToString();
PredecessorMgNrInput.Text = m.PredecessorMgNr.ToString(); PredecessorMgNrInput.Text = m.PredecessorMgNr.ToString();
MemberReferenceButton.IsEnabled = m.PredecessorMgNr != null;
PrefixInput.Text = m.Prefix; PrefixInput.Text = m.Prefix;
GivenNameInput.Text = m.GivenName; GivenNameInput.Text = m.GivenName;
FamilyNameInput.Text = m.FamilyName; FamilyNameInput.Text = m.FamilyName;
@ -805,6 +829,7 @@ namespace Elwig.Windows {
Menu_Print_Letterhead.IsEnabled = false; Menu_Print_Letterhead.IsEnabled = false;
Menu_Show_MemberDataSheet.IsEnabled = false; Menu_Show_MemberDataSheet.IsEnabled = false;
Menu_Print_MemberDataSheet.IsEnabled = false; Menu_Print_MemberDataSheet.IsEnabled = false;
MemberReferenceButton.IsEnabled = false;
StatusDeliveriesLastSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason - 1}): -"; StatusDeliveriesLastSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason - 1}): -";
StatusDeliveriesThisSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason}): -"; StatusDeliveriesThisSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason}): -";
StatusAreaCommitment.Text = "Gebundene Fläche: -"; StatusAreaCommitment.Text = "Gebundene Fläche: -";
@ -872,5 +897,10 @@ namespace Elwig.Windows {
UseShellExecute = true, UseShellExecute = true,
}); });
} }
private void MemberReferenceButton_Click(object sender, RoutedEventArgs evt) {
if (MemberList.SelectedItem is not Member m || m.PredecessorMgNr == null) return;
FocusMember((int)m.PredecessorMgNr);
}
} }
} }