Billing: Update EBICS exporter
This commit is contained in:
@ -1,32 +0,0 @@
|
||||
using Elwig.Models.Entities;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Elwig.Helpers.Billing {
|
||||
public class Transaction {
|
||||
|
||||
public readonly Member Member;
|
||||
public readonly long AmountCent;
|
||||
public readonly string Currency;
|
||||
public readonly int Nr;
|
||||
|
||||
public Transaction(Member m, decimal amount, string currency, int nr) {
|
||||
Member = m;
|
||||
AmountCent = (long)Math.Round(amount * 100);
|
||||
Currency = currency;
|
||||
Nr = nr;
|
||||
}
|
||||
|
||||
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.Credits
|
||||
.OrderBy(c => c.MgNr)
|
||||
.Select(c => new Transaction(c.Member, c.Amount, variant.Season.CurrencyCode, c.TgNr))
|
||||
.ToList();
|
||||
}
|
||||
|
||||
public static string FormatAmountCent(long cents) => $"{cents / 100}.{cents % 100:00}";
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user