Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
            }
        }