PaymentVariantsWindow: Allow members to have no IBAN

This commit is contained in:
2024-02-23 16:24:09 +01:00
parent 04199376d2
commit 958fbaae50
3 changed files with 12 additions and 3 deletions

View File

@ -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")]

View File

@ -15,6 +15,7 @@ namespace Elwig.Models.Dtos {
public static IEnumerable<Transaction> FromPaymentVariant(PaymentVar variant) {
return variant.Credits
.Where(c => c.Member.Iban != null)
.OrderBy(c => c.TgNr)
.Select(c => new Transaction(c))
.ToList();

View File

@ -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,