From 958fbaae50e3903e66091d9f5d0fb60d9eb4c731 Mon Sep 17 00:00:00 2001 From: Lorenz Stechauner Date: Fri, 23 Feb 2024 16:24:09 +0100 Subject: [PATCH] PaymentVariantsWindow: Allow members to have no IBAN --- Elwig/Models/Dtos/CreditNoteData.cs | 6 +++--- Elwig/Models/Dtos/Transaction.cs | 1 + Elwig/Windows/PaymentVariantsWindow.xaml.cs | 8 ++++++++ 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/Elwig/Models/Dtos/CreditNoteData.cs b/Elwig/Models/Dtos/CreditNoteData.cs index aa46c01..814a437 100644 --- a/Elwig/Models/Dtos/CreditNoteData.cs +++ b/Elwig/Models/Dtos/CreditNoteData.cs @@ -77,7 +77,7 @@ namespace Elwig.Models.Dtos { public string Address; public int Plz; public string Locality; - public string Iban; + public string? Iban; public string TgNr; public decimal Sum; public decimal? Surcharge; @@ -101,7 +101,7 @@ namespace Elwig.Models.Dtos { Address = row.Address; Plz = row.Plz; Locality = row.Locality; - Iban = Utils.FormatIban(row.Iban); + Iban = row.Iban != null ? Utils.FormatIban(row.Iban) : null; TgNr = $"{row.Year}/{row.TgNr}"; Total = Utils.DecFromDb(row.NetAmount, prec1); Surcharge = (row.Surcharge == null || row.Surcharge == 0) ? null : Utils.DecFromDb((long)row.Surcharge, prec2); @@ -145,7 +145,7 @@ namespace Elwig.Models.Dtos { [NotMapped] public string Locality => LocalityFull.Split(",")[0]; [Column("iban")] - public string Iban { get; set; } + public string? Iban { get; set; } [Column("year")] public int Year { get; set; } [Column("precision")] diff --git a/Elwig/Models/Dtos/Transaction.cs b/Elwig/Models/Dtos/Transaction.cs index 4cac4bf..5c90b06 100644 --- a/Elwig/Models/Dtos/Transaction.cs +++ b/Elwig/Models/Dtos/Transaction.cs @@ -15,6 +15,7 @@ namespace Elwig.Models.Dtos { public static IEnumerable FromPaymentVariant(PaymentVar variant) { return variant.Credits + .Where(c => c.Member.Iban != null) .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 bdf7412..bfc104c 100644 --- a/Elwig/Windows/PaymentVariantsWindow.xaml.cs +++ b/Elwig/Windows/PaymentVariantsWindow.xaml.cs @@ -298,6 +298,14 @@ namespace Elwig.Windows { MessageBox.Show("Überweisungsdatum muss gesetzt sein!", "Exportieren nicht möglich", MessageBoxButton.OK, MessageBoxImage.Error); return; } + + 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.", + "Mitglieder ohne IBAN", MessageBoxButton.OKCancel, MessageBoxImage.Warning, MessageBoxResult.Cancel); + if (r != MessageBoxResult.OK) return; + } + var d = new SaveFileDialog() { FileName = $"{App.Client.NameToken}-Überweisungsdaten-{v.Year}-{v.Name.Trim().Replace(' ', '-')}.{Ebics.FileExtension}", DefaultExt = Ebics.FileExtension,