MemberAdminWindow+DeliveryAdminWindow: Add button to jumpt to member (predecessor)
This commit is contained in:
@ -248,5 +248,11 @@ namespace Elwig {
|
||||
public static ChartWindow FocusChartWindow(int year, int 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -236,9 +236,12 @@
|
||||
<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"
|
||||
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"
|
||||
SelectionChanged="MemberInput_SelectionChanged" KeyUp="Input_KeyUp"/>
|
||||
<Button x:Name="MemberReferenceButton" Grid.Column="1" Height="25" Width="25" FontFamily="Segoe MDL2 Assets" Content="" 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"/>
|
||||
<TextBox x:Name="MemberAddressField" Grid.Column="1" Margin="0,40,10,10" FontSize="12" Height="22"
|
||||
|
@ -1789,5 +1789,10 @@ namespace Elwig.Windows {
|
||||
}
|
||||
CheckBox_Changed(sender, evt);
|
||||
}
|
||||
|
||||
private void MemberReferenceButton_Click(object sender, RoutedEventArgs evt) {
|
||||
if (MemberInput.SelectedItem is not Member m) return;
|
||||
App.FocusMember(m.MgNr);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -53,9 +53,9 @@
|
||||
<MenuItem x:Name="Menu_Print_Letterhead" Header="Briefkopf drucken"
|
||||
Click="Menu_Print_Letterhead_Click"/>
|
||||
<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"
|
||||
Click="Menu_Print_MemberDataSheet_Click"/>
|
||||
Click="Menu_Print_MemberDataSheet_Click" InputGestureText="Strg+Shift+P"/>
|
||||
<MenuItem Header="Briefköpfe drucken">
|
||||
<MenuItem x:Name="Menu_Print_Letterheads_MgNr" Header="nach MgNr. sortiert" IsEnabled="False" Tag="Print"
|
||||
Click="Menu_Print_Letterheads_MgNr_Click"/>
|
||||
@ -190,6 +190,9 @@
|
||||
<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"
|
||||
TextChanged="PredecessorMgNrInput_TextChanged" LostFocus="PredecessorMgNrInput_LostFocus"/>
|
||||
<Button x:Name="MemberReferenceButton" Grid.Column="3" Height="25" Width="25" FontFamily="Segoe MDL2 Assets" Content="" 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"/>
|
||||
<TextBox x:Name="PrefixInput" Margin="0,40,10,0" Grid.Column="3"
|
||||
|
@ -79,6 +79,28 @@ namespace Elwig.Windows {
|
||||
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() {
|
||||
await Context.Members.LoadAsync();
|
||||
await RefreshMemberListQuery();
|
||||
@ -230,6 +252,7 @@ namespace Elwig.Windows {
|
||||
BranchInput.SelectedItem = Context.Branches.First();
|
||||
ActiveInput.IsChecked = true;
|
||||
ContactPostalInput.IsChecked = true;
|
||||
MemberReferenceButton.IsEnabled = false;
|
||||
|
||||
SetDefaultValue(MgNrInput);
|
||||
SetDefaultValue(EntryDateInput);
|
||||
@ -705,6 +728,7 @@ namespace Elwig.Windows {
|
||||
|
||||
MgNrInput.Text = m.MgNr.ToString();
|
||||
PredecessorMgNrInput.Text = m.PredecessorMgNr.ToString();
|
||||
MemberReferenceButton.IsEnabled = m.PredecessorMgNr != null;
|
||||
PrefixInput.Text = m.Prefix;
|
||||
GivenNameInput.Text = m.GivenName;
|
||||
FamilyNameInput.Text = m.FamilyName;
|
||||
@ -805,6 +829,7 @@ namespace Elwig.Windows {
|
||||
Menu_Print_Letterhead.IsEnabled = false;
|
||||
Menu_Show_MemberDataSheet.IsEnabled = false;
|
||||
Menu_Print_MemberDataSheet.IsEnabled = false;
|
||||
MemberReferenceButton.IsEnabled = false;
|
||||
StatusDeliveriesLastSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason - 1}): -";
|
||||
StatusDeliveriesThisSeason.Text = $"Lieferungen ({Utils.CurrentLastSeason}): -";
|
||||
StatusAreaCommitment.Text = "Gebundene Fläche: -";
|
||||
@ -872,5 +897,10 @@ namespace Elwig.Windows {
|
||||
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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user