[#45] MemberAdminWindow: Add dialog for area commitment cancellation/transfer
Some checks failed
Test / Run tests (push) Failing after 52s
Some checks failed
Test / Run tests (push) Failing after 52s
This commit is contained in:
@ -1134,7 +1134,7 @@ namespace Elwig.Windows {
|
||||
var valid = InputLostFocus((TextBox)sender, Validator.CheckPredecessorMgNr);
|
||||
if (valid && PredecessorMgNrInput.Text != "" && (IsEditing || IsCreating)) {
|
||||
var mgnr = int.Parse(PredecessorMgNrInput.Text);
|
||||
if (MemberList.SelectedItem is Member m && m.MgNr == mgnr)
|
||||
if (MemberList.SelectedItem is not Member m || m.MgNr == mgnr)
|
||||
return;
|
||||
using var ctx = new AppDbContext();
|
||||
var areaComs = await ctx.AreaCommitments
|
||||
@ -1142,13 +1142,12 @@ namespace Elwig.Windows {
|
||||
.ToListAsync();
|
||||
if (areaComs.Count == 0)
|
||||
return;
|
||||
var res = MessageBox.Show("Sollen die aktiven Flächenbindungen des angegebenen\n" +
|
||||
$"Vorgängers übernommen werden? ({areaComs.Sum(c => c.Area)} m²)\n\n" +
|
||||
"Die Änderungen werden erst beim Speichern übernommen!",
|
||||
"Aktive Flächenbindungen übernehmen", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
|
||||
if (res != MessageBoxResult.Yes)
|
||||
|
||||
var oldMember = (await ctx.Members.FindAsync(mgnr))!;
|
||||
var d = new AreaComDialog(oldMember.AdministrativeName, m.AdministrativeName, areaComs.Count, areaComs.Sum(c => c.Area));
|
||||
if (d.ShowDialog() != true)
|
||||
return;
|
||||
TransferPredecessorAreaComs = Utils.FollowingSeason;
|
||||
TransferPredecessorAreaComs = d.SuccessorSeason;
|
||||
SetOriginalValue(PredecessorMgNrInput, -1); // hack to allow user to save
|
||||
UpdateButtons();
|
||||
}
|
||||
@ -1190,18 +1189,18 @@ namespace Elwig.Windows {
|
||||
}
|
||||
|
||||
private async void ActiveInput_Changed(object sender, RoutedEventArgs evt) {
|
||||
if (MemberList.SelectedItem is not Member m)
|
||||
return;
|
||||
if ((IsEditing || IsCreating) && ActiveInput.IsChecked == false && int.TryParse(MgNrInput.Text, out var mgnr)) {
|
||||
using var ctx = new AppDbContext();
|
||||
var areaComs = await ctx.AreaCommitments
|
||||
.Where(c => c.MgNr == mgnr && (c.YearTo == null || c.YearTo >= Utils.FollowingSeason))
|
||||
.ToListAsync();
|
||||
if (areaComs.Count >= 0) {
|
||||
var res = MessageBox.Show($"Sollen die aktiven Flächenbindungen gekündigt werden? ({areaComs.Sum(c => c.Area)} m²)\n" +
|
||||
"Falls die Flächenbindungen später an ein neues Mitglied\n" +
|
||||
"übertragen werden sollen bitte \"Nein\" auswählen!\n\n" +
|
||||
"Die Änderungen werden erst beim Speichern übernommen!",
|
||||
"Flächenbindungen kündigen", MessageBoxButton.YesNo, MessageBoxImage.Question, MessageBoxResult.No);
|
||||
CancelAreaComs = res == MessageBoxResult.Yes ? Utils.FollowingSeason - 1 : null;
|
||||
if (areaComs.Count > 0) {
|
||||
var d = new AreaComDialog(m.AdministrativeName, areaComs.Count, areaComs.Sum(c => c.Area));
|
||||
if (d.ShowDialog() == true) {
|
||||
CancelAreaComs = d.CancelSeason;
|
||||
}
|
||||
}
|
||||
}
|
||||
CheckBox_Changed(sender, evt);
|
||||
|
Reference in New Issue
Block a user