MemberAdminWindow: Fix area commitment transfer for new members
All checks were successful
Test / Run tests (push) Successful in 2m5s

This commit is contained in:
2024-08-08 17:30:57 +02:00
parent 036a0dc978
commit 9127cd3f03

View File

@ -726,7 +726,7 @@ namespace Elwig.Windows {
private async void PredecessorMgNrInput_LostFocus(object sender, RoutedEventArgs evt) {
var valid = InputLostFocus((TextBox)sender, Validator.CheckPredecessorMgNr);
if (valid && ViewModel.PredecessorMgNr is int mgnr && (IsEditing || IsCreating)) {
if (MemberList.SelectedItem is not Member m || m.MgNr == mgnr)
if (ViewModel.MgNr == mgnr)
return;
using var ctx = new AppDbContext();
var areaComs = await ctx.AreaCommitments
@ -736,11 +736,16 @@ namespace Elwig.Windows {
return;
var oldMember = (await ctx.Members.FindAsync(mgnr))!;
var d = new AreaComDialog(oldMember.AdministrativeName, m.AdministrativeName, areaComs.Count, areaComs.Sum(c => c.Area));
var newName = $"{ViewModel.FamilyName?.Replace('ß', 'ẞ').ToUpper()} " +
$"{ViewModel.Prefix}{(!string.IsNullOrEmpty(ViewModel.Prefix) ? " " : "")}" +
$"{ViewModel.GivenName}{(!string.IsNullOrEmpty(ViewModel.GivenName) ? " " : "")}" +
$"{ViewModel.Suffix}{(!string.IsNullOrEmpty(ViewModel.Suffix) ? " " : "")}";
var d = new AreaComDialog(oldMember.AdministrativeName, newName, areaComs.Count, areaComs.Sum(c => c.Area));
if (d.ShowDialog() != true)
return;
ViewModel.TransferPredecessorAreaComs = d.SuccessorSeason;
SetOriginalValue(PredecessorMgNrInput, -1); // hack to allow user to save
if (IsEditing)
SetOriginalValue(PredecessorMgNrInput, -1); // hack to allow user to save
UpdateButtons();
}
}