Models: Add Credit

This commit is contained in:
2023-09-12 21:40:04 +02:00
parent 30aaa64f59
commit 5ad8c88319
7 changed files with 284 additions and 17 deletions

View File

@ -21,12 +21,9 @@ namespace Elwig.Helpers.Billing {
public static IEnumerable<Transaction> FromPaymentVariant(PaymentVar variant) {
var last = variant.Season.PaymentVariants.Where(v => v.TransferDate != null).OrderBy(v => v.TransferDate).LastOrDefault();
var dict = last?.MemberPayments.ToDictionary(m => m.MgNr, m => m.Amount) ?? new();
return variant.MemberPayments
.OrderBy(m => m.MgNr)
.Select(m => {
var amt = Math.Round(dict.GetValueOrDefault(m.MgNr, 0), 2);
return new Transaction(m.Member, m.Amount - amt, m.Variant.Season.CurrencyCode, m.TgNr ?? 0);
})
return variant.Credits
.OrderBy(c => c.MgNr)
.Select(c => new Transaction(c.Member, c.Amount, variant.Season.CurrencyCode, c.TgNr))
.ToList();
}