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

@ -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);
}
}
}