private List <PaymentTransaction> CreateTransactions(Document document) { var externalReferenceGenerator = new PaymentTransactionExternalReferenceGenerator(document.CstmrCdtTrfInitn.GrpHdr.MsgId); return(document.CstmrCdtTrfInitn.PmtInf .SelectMany(pi => pi.CdtTrfTxInf) .Select(tx => CreateTransaction(externalReferenceGenerator, tx)) .ToList()); }
private PaymentTransaction CreateTransaction(PaymentTransactionExternalReferenceGenerator paymentTransactionExternalReferenceGenerator, CreditTransferTransactionInformation10 transactionInfo) { return (new PaymentTransaction { Account = GetAccount(transactionInfo.CdtrAcct.Id), Currency = GetCurrency(transactionInfo.Amt), Credit = GetCredit(transactionInfo.Amt), SettlementDate = _timeService.CurrentTime.Date, ExternalReference = paymentTransactionExternalReferenceGenerator.GetNext() }); }