public void WriteHeader(XContainer container, Type824Header header) { if (header == null) { return; } if (!header.HeaderKey.HasValue) { return; } var headerKey = header.HeaderKey.Value; var element = new XElement("Header", new XElement("HeaderKey", headerKey)); element.TryAddElement("TransactionSetId", header.TransactionSetId); element.TryAddElement("TransactionSetControlNbr", header.TransactionSetControlNbr); element.TryAddElement("TransactionSetPurposeCode", header.TransactionSetPurposeCode); element.TryAddElement("TransactionDate", header.TransactionDate); element.TryAddElement("TransactionNbr", header.TransactionNbr); element.TryAddElement("ReportTypeCode", header.ReportTypeCode); element.TryAddElement("ActionCode", header.ActionCode); element.TryAddElement("TdspName", header.TdspName); element.TryAddElement("TdspDuns", header.TdspDuns); element.TryAddElement("CrName", header.CrName); element.TryAddElement("CrDuns", header.CrDuns); element.TryAddElement("AppAckCode", header.AppAckCode); element.TryAddElement("ReferenceNbr", header.ReferenceNbr); element.TryAddElement("TransactionSetNbr", header.TransactionSetNbr); element.TryAddElement("EsiId", header.EsiId); element.TryAddElement("CrQualifier", header.CrQualifier); element.TryAddElement("TdspQualifier", header.TdspQualifier); element.TryAddElement("ESPUtilityAccountNumber", header.EspUtilityAccountNumber); element.TryAddElement("CustomerName", header.CustomerName); element.TryAddElement("ESPCustomerAccountNumber", header.EspCustomerAccountNumber); element.TryAddElement("PreviousUtilityAccountNumber", header.PreviousUtilityAccountNumber); container.Add(element); logger.TraceFormat("Added 824 \"Header\" XML element for Header {0}", headerKey); var reasons = exportDataAccess.ListReasons(headerKey); WriteReason(element, reasons); var references = exportDataAccess.ListReferences(headerKey); WriteReference(element, references); }
public void WriteReason(Prism824Context context, Type824Header header) { if (!header.HeaderKey.HasValue) { return; } var headerKey = header.HeaderKey.Value; var reasons = marketDataAccess.ListReasons(headerKey); foreach (var reason in reasons) { var line = string.Format("20|{0}|{1}|{2}|", context.TradingPartnerId, reason.ReasonCode, reason.ReasonText); context.AppendLine(line); logger.TraceFormat("Wrote 824 \"20\" PRISM line for Header {0}", header.HeaderKey); } }