From 6d88c5645c41fb0730650edb223ac95825ea0657 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Tue, 21 Jan 2025 09:27:04 +0100 Subject: [PATCH] PaymentVariantsWindow: Warn user about negative credit exports --- Elwig/Models/Dtos/Transaction.cs | 2 +- Elwig/Windows/PaymentVariantsWindow.xaml.cs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/Elwig/Models/Dtos/Transaction.cs b/Elwig/Models/Dtos/Transaction.cs index 5c90b06..ecd1876 100644 --- a/Elwig/Models/Dtos/Transaction.cs +++ b/Elwig/Models/Dtos/Transaction.cs @@ -15,7 +15,7 @@ namespace Elwig.Models.Dtos { public static IEnumerable FromPaymentVariant(PaymentVar variant) { return variant.Credits - .Where(c => c.Member.Iban != null) + .Where(c => c.Member.Iban != null && c.Amount > 0) .OrderBy(c => c.TgNr) .Select(c => new Transaction(c)) .ToList(); diff --git a/Elwig/Windows/PaymentVariantsWindow.xaml.cs b/Elwig/Windows/PaymentVariantsWindow.xaml.cs index 065221d..0377ac3 100644 --- a/Elwig/Windows/PaymentVariantsWindow.xaml.cs +++ b/Elwig/Windows/PaymentVariantsWindow.xaml.cs @@ -433,10 +433,16 @@ namespace Elwig.Windows { var withoutIban = v.Credits.Count(c => c.Member.Iban == null); if (withoutIban > 0) { - var r = MessageBox.Show($"Achtung: Für {withoutIban} Mitglieder ist kein IBAN hinterlegt.\nDiese werden NICHT exportiert.", + var r = MessageBox.Show($"Achtung: Für {withoutIban:N0} Mitglieder ist kein IBAN hinterlegt.\n\nDiese werden NICHT exportiert.", "Mitglieder ohne IBAN", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel); if (r != MessageBoxResult.OK) return; } + var withNegAmount = v.Credits.Count(c => c.Amount <= 0); + if (withNegAmount > 0) { + var r = MessageBox.Show($"Achtung: Es gibt {withNegAmount:N0} Traubengutschriften mit negativem Betrag.\n\nDiese werden NICHT exportiert.", + "Traubengutschriften mit negativem Betrag", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.OK); + if (r != MessageBoxResult.OK) return; + } var d = new SaveFileDialog() { FileName = $"{App.Client.NameToken}-Überweisungsdaten-{v.Year}-{v.Name.Trim().Replace(' ', '-')}.{Ebics.FileExtension}",