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