public void WriteCustInvAccount(Prism810Context context, CustomerInvoiceConfigModel configModel, Type810Header header) { if (!context.IsCustomerInvoice) { return; } var partnerId = context.TradingPartnerId; var stateId = partnerId.Substring(3, 2); var invoiceNbr = header.InvoiceNbr; if (configModel.UseAccNumberForInvoice) { invoiceNbr = header.EsiId; } var arSummary = clientDataAccess.LoadArSummaryByInvoice(header.InvoiceNbr); if (arSummary == null) { logger.ErrorFormat("Could not load Customer AR Summary from Invoice {0}", header.InvoiceNbr); return; } var previousBalance = arSummary.PrevBal; var currentBalance = arSummary.BalDue; var billingBalance = (arSummary.PrevBal - arSummary.CurrPmts + arSummary.CurrAdjs); var billActionCode = "BD"; var ldcName = header.TdspName; if (header.CustomerDUNS.Equals("007928344")) { billActionCode = "PR"; } if (header.CustomerDUNS.Equals("055458350")) { billActionCode = "ME"; ldcName = "NISC"; } if (header.CustomerDUNS.Equals("PROKARMAI", StringComparison.Ordinal)) { billActionCode = "ME"; ldcName = "PROKARMA"; } var line = string.Format( "01|{0}|{1}|{2}|{3}|{4}||||||||{5}|{6}|||||{7}|{8}|{9}|{10}|||||{11}|{12}|{13}|{14}|||||||||||||||||||||||||||00||||", context.TradingPartnerId, stateId, header.TransactionDate, invoiceNbr, billActionCode, header.CrAccountNumber, header.EsiId, ldcName, header.CustomerDUNS, context.BillFromName, context.BillFromDuns, header.PaymentDueDate, previousBalance, billingBalance, currentBalance); context.AppendLine(line); logger.TraceFormat("Wrote 810 \"01\" PRISM line for Header {0}", header.HeaderKey); }