/// <summary> /// Build purchase order. /// Original from https://www.gs1.org/standards/edi-xml-gs1-eancom/eancom-orders-s4/syntax-4 /// </summary> public static TSORDERS BuildPurchaseOrder(string controlNumber) { var result = new TSORDERS(); // Message header result.UNH = new UNH(); result.UNH.MessageReferenceNumber_01 = controlNumber.PadLeft(14, '0'); result.UNH.MessageIdentifier_02 = new S009(); result.UNH.MessageIdentifier_02.MessageType_01 = "ORDERS"; result.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D"; result.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "96A"; result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN"; // Order number 128576 result.BGM = new BGM(); result.BGM.DOCUMENTMESSAGENAME_01 = new C002(); result.BGM.DOCUMENTMESSAGENAME_01.Documentmessagenamecoded_01 = "220"; result.BGM.Documentmessagenumber_02 = "128576"; result.BGM.Messagefunctioncoded_03 = "9"; // Repeating DTM result.DTM = new List <DTM>(); // Message date 30th of August 2002 var dtm = new DTM(); dtm.DATETIMEPERIOD_01 = new C507(); dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "137"; dtm.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020830"; dtm.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102"; result.DTM.Add(dtm); // Instruction to pay in Bank Account result.PAI = new PAI(); result.PAI.PAYMENTINSTRUCTIONDETAILS_01 = new C534(); result.PAI.PAYMENTINSTRUCTIONDETAILS_01.Paymentmeanscoded_03 = "42"; // Repeating FTX result.FTX = new List <FTX>(); // Free text mutually defined var ftx = new FTX(); ftx.Textsubjectqualifier_01 = "ZZZ"; ftx.Textfunctioncoded_02 = "1"; ftx.TEXTREFERENCE_03 = new C107(); ftx.TEXTREFERENCE_03.Freetextcoded_01 = "001"; ftx.TEXTREFERENCE_03.Codelistresponsibleagencycoded_03 = "91"; result.FTX.Add(ftx); // Repeating RFF Groups result.RFFLoop = new List <Loop_RFF_ORDERS>(); // Begin RFF Group var rffLoop = new Loop_RFF_ORDERS(); // Order is based on contract number 652744 rffLoop.RFF = new RFF(); rffLoop.RFF.REFERENCE_01 = new C506(); rffLoop.RFF.REFERENCE_01.Referencequalifier_01 = "CT"; rffLoop.RFF.REFERENCE_01.Referencenumber_02 = "652744"; // Repeating DTM rffLoop.DTM = new List <DTM>(); // Date of contract 25th of August 2002 var rffDtm1 = new DTM(); rffDtm1.DATETIMEPERIOD_01 = new C507(); rffDtm1.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "171"; rffDtm1.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020825"; rffDtm1.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102"; rffLoop.DTM.Add(rffDtm1); // End RFF Group result.RFFLoop.Add(rffLoop); // Repeating NAD Groups result.NADLoop = new List <Loop_NAD_ORDERS>(); // Begin NAD Group 1 var nadLoop1 = new Loop_NAD_ORDERS(); // Buyer is identified by GLN 5412345000013 nadLoop1.NAD = new NAD(); nadLoop1.NAD.Partyqualifier_01 = "BY"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "5412345000013"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9"; // Repeating RFF Groups nadLoop1.RFFLoop = new List <Loop_RFF_ORDERS>(); // Begin RFF Group var rffLoopNad = new Loop_RFF_ORDERS(); // Buyer’s VAT number is 87765432 rffLoopNad.RFF = new RFF(); rffLoopNad.RFF.REFERENCE_01 = new C506(); rffLoopNad.RFF.REFERENCE_01.Referencequalifier_01 = "VA"; rffLoopNad.RFF.REFERENCE_01.Referencenumber_02 = "87765432"; // End RFF Group nadLoop1.RFFLoop.Add(rffLoopNad); // Repeating CTA Groups nadLoop1.CTALoop = new List <Loop_CTA_ORDERS>(); // Begin CTA Group var ctaLoop = new Loop_CTA_ORDERS(); // Order contact is PForget ctaLoop.CTA = new CTA(); ctaLoop.CTA.Contactfunctioncoded_01 = "OC"; ctaLoop.CTA.DEPARTMENTOREMPLOYEEDETAILS_02 = new C056(); ctaLoop.CTA.DEPARTMENTOREMPLOYEEDETAILS_02.Departmentoremployee_02 = "P FORGET"; // Repeating COM ctaLoop.COM = new List <COM>(); // Telephone number of order contact var com = new COM(); com.COMMUNICATIONCONTACT_01 = new C076(); com.COMMUNICATIONCONTACT_01.Communicationnumber_01 = "0044715632478"; com.COMMUNICATIONCONTACT_01.Communicationchannelqualifier_02 = "TE"; ctaLoop.COM.Add(com); // End CTA Group nadLoop1.CTALoop.Add(ctaLoop); // End NAD Group 1 result.NADLoop.Add(nadLoop1); // Begin NAD Group 2 var nadLoop2 = new Loop_NAD_ORDERS(); // Supplier is identified by GLN 4012345500004 nadLoop2.NAD = new NAD(); nadLoop2.NAD.Partyqualifier_01 = "SU"; nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyididentification_01 = "4012345500004"; nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycoded_03 = "9"; // Repeating RFF Groups nadLoop2.RFFLoop = new List <Loop_RFF_ORDERS>(); // Begin RFF Group var rffLoopNad2 = new Loop_RFF_ORDERS(); // Supplier’s VAT number is 56225432 rffLoopNad2.RFF = new RFF(); rffLoopNad2.RFF.REFERENCE_01 = new C506(); rffLoopNad2.RFF.REFERENCE_01.Referencequalifier_01 = "VA"; rffLoopNad2.RFF.REFERENCE_01.Referencenumber_02 = "56225432"; // End RFF Group nadLoop2.RFFLoop.Add(rffLoopNad2); // End NAD Group 2 result.NADLoop.Add(nadLoop2); // Repeating CUX Groups result.CUXLoop = new List <Loop_CUX_ORDERS>(); // Begin CUX Group var cuxLoop = new Loop_CUX_ORDERS(); // Ordering currency is Pounds Sterling with the invoicing currency identified as Euros // The exchange rate between them is 1 Pound Sterling equals 1.67 Euros cuxLoop.CUX = new CUX(); cuxLoop.CUX.CURRENCYDETAILS_01 = new C504(); cuxLoop.CUX.CURRENCYDETAILS_01.Currencydetailsqualifier_01 = "2"; cuxLoop.CUX.CURRENCYDETAILS_01.Currencycoded_02 = "GBP"; cuxLoop.CUX.CURRENCYDETAILS_01.Currencyqualifier_03 = "9"; cuxLoop.CUX.CURRENCYDETAILS_02 = new C504(); cuxLoop.CUX.CURRENCYDETAILS_02.Currencydetailsqualifier_01 = "3"; cuxLoop.CUX.CURRENCYDETAILS_02.Currencycoded_02 = "EUR"; cuxLoop.CUX.CURRENCYDETAILS_02.Currencyqualifier_03 = "4"; cuxLoop.CUX.Rateofexchange_03 = "1.67"; // Repeating DTM cuxLoop.DTM = new List <DTM>(); // Period on which rate of exchange date is based is the // 1st of August 2002 - 31st of August 2002 var dtmCux = new DTM(); dtmCux.DATETIMEPERIOD_01 = new C507(); dtmCux.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "134"; dtmCux.DATETIMEPERIOD_01.Datetimeperiod_02 = "2002080120020831"; dtmCux.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "718"; cuxLoop.DTM.Add(dtmCux); // End CUX Group result.CUXLoop.Add(cuxLoop); // Repeating TDT Groups result.TDTLoop = new List <Loop_TDT_ORDERS>(); // Begin TDT Group var tdtLoop = new Loop_TDT_ORDERS(); // Order requests that the main carriage transport used to deliver the goods is a truck tdtLoop.TDT = new TDT(); tdtLoop.TDT.Transportstagequalifier_01 = "20"; tdtLoop.TDT.MODEOFTRANSPORT_03 = new C220(); tdtLoop.TDT.MODEOFTRANSPORT_03.Modeoftransportcoded_01 = "30"; tdtLoop.TDT.TRANSPORTMEANS_04 = new C228(); tdtLoop.TDT.TRANSPORTMEANS_04.Typeofmeansoftransportidentification_01 = "31"; // End TDT Group result.TDTLoop.Add(tdtLoop); // Repeating TOD Groups result.TODLoop = new List <Loop_TOD_ORDERS>(); // Begin TOD Group var todLoop = new Loop_TOD_ORDERS(); // Terms of delivery are to be Cost, Insurance and Freight todLoop.TOD = new TOD(); todLoop.TOD.Termsofdeliveryortransportfunctioncoded_01 = "3"; todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03 = new C100(); todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Termsofdeliveryortransportcoded_01 = "CIF"; todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Codelistqualifier_02 = "23"; todLoop.TOD.TERMSOFDELIVERYORTRANSPORT_03.Codelistresponsibleagencycoded_03 = "9"; // Repeating LOC Group todLoop.LOC = new List <LOC>(); // The named port is Brussels var loc = new LOC(); loc.Placelocationqualifier_01 = "1"; loc.LOCATIONIDENTIFICATION_02 = new C517(); loc.LOCATIONIDENTIFICATION_02.Placelocationidentification_01 = "BE-BRU"; todLoop.LOC.Add(loc); // End TOD Group result.TODLoop.Add(todLoop); // Repeating LIN Groups result.LINLoop = new List <Loop_LIN_ORDERS>(); // Begin LIN Group 1 var linLoop1 = new Loop_LIN_ORDERS(); // First product order is identified by GTIN 4000862141404 linLoop1.LIN = new LIN(); linLoop1.LIN.Lineitemnumber_01 = "1"; linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03 = new C212(); linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01 = "4000862141404"; linLoop1.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumbertypecoded_02 = "SRS"; // Repeating PIA linLoop1.PIA = new List <PIA>(); // In addition the buyer’s part number ABC1234 is provided var pia = new PIA(); pia.Productidfunctionqualifier_01 = "1"; pia.ITEMNUMBERIDENTIFICATION_02 = new C212(); pia.ITEMNUMBERIDENTIFICATION_02.Itemnumber_01 = "ABC1234"; pia.ITEMNUMBERIDENTIFICATION_02.Itemnumbertypecoded_02 = "IN"; linLoop1.PIA.Add(pia); // Repeating IMD linLoop1.IMD = new List <IMD>(); // The ordered item is a traded unit var imd = new IMD(); imd.Itemdescriptiontypecoded_01 = "C"; imd.ITEMDESCRIPTION_03 = new C273(); imd.ITEMDESCRIPTION_03.Itemdescriptionidentification_01 = "TU"; imd.ITEMDESCRIPTION_03.Codelistresponsibleagencycoded_03 = "9"; linLoop1.IMD.Add(imd); // Repeating QTY linLoop1.QTY = new List <QTY>(); // Ordered quantity is 48 units var qty = new QTY(); qty.QUANTITYDETAILS_01 = new C186(); qty.QUANTITYDETAILS_01.Quantityqualifier_01 = "21"; qty.QUANTITYDETAILS_01.Quantity_02 = "48"; linLoop1.QTY.Add(qty); // Repeating MOA linLoop1.MOA = new List <MOA>(); // Value of order line is 699.84 Pounds Sterling var moa = new MOA(); moa.MONETARYAMOUNT_01 = new C516(); moa.MONETARYAMOUNT_01.Monetaryamounttypequalifier_01 = "203"; moa.MONETARYAMOUNT_01.Monetaryamount_02 = "699.84"; linLoop1.MOA.Add(moa); // Repeating PRI Groups linLoop1.PRILoop = new List <Loop_PRI_ORDERS>(); // Begin PRI Group var priLoop = new Loop_PRI_ORDERS(); // Fixed net calculation price is 14.58 Pounds Sterling priLoop.PRI = new PRI(); priLoop.PRI.PRICEINFORMATION_01 = new C509(); priLoop.PRI.PRICEINFORMATION_01.Pricequalifier_01 = "AAA"; priLoop.PRI.PRICEINFORMATION_01.Price_02 = "14.58"; priLoop.PRI.PRICEINFORMATION_01.Pricetypecoded_03 = "CT"; priLoop.PRI.PRICEINFORMATION_01.Pricetypequalifier_04 = "AAE"; priLoop.PRI.PRICEINFORMATION_01.Unitpricebasis_05 = "1"; priLoop.PRI.PRICEINFORMATION_01.Measureunitqualifier_06 = "KGM"; // End PRI Group linLoop1.PRILoop.Add(priLoop); // Repeating RFF Groups linLoop1.RFFLoop = new List <Loop_RFF_ORDERS>(); // Begin RFF Group var rffLoopLin = new Loop_RFF_ORDERS(); // Price is taken from the price list AUG93RNG04 rffLoopLin.RFF = new RFF(); rffLoopLin.RFF.REFERENCE_01 = new C506(); rffLoopLin.RFF.REFERENCE_01.Referencequalifier_01 = "PL"; rffLoopLin.RFF.REFERENCE_01.Referencenumber_02 = "AUG93RNG04"; // Repeating DTM rffLoopLin.DTM = new List <DTM>(); // Price list date 1st of August 2002 var dtmRff = new DTM(); dtmRff.DATETIMEPERIOD_01 = new C507(); dtmRff.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "171"; dtmRff.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020801"; dtmRff.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102"; rffLoopLin.DTM.Add(dtmRff); // End RFF Group linLoop1.RFFLoop.Add(rffLoopLin); // Repeating PAC Groups linLoop1.PACLoop = new List <Loop_PAC_ORDERS_2>(); // Begin PAC Group var pacLoop = new Loop_PAC_ORDERS_2(); // Two packages (cases) barcoded with ITF14 pacLoop.PAC = new PAC(); pacLoop.PAC.Numberofpackages_01 = "2"; pacLoop.PAC.PACKAGINGDETAILS_02 = new C531(); pacLoop.PAC.PACKAGINGDETAILS_02.Packagingrelatedinformationcoded_02 = "51"; pacLoop.PAC.PACKAGETYPE_03 = new C202(); pacLoop.PAC.PACKAGETYPE_03.Typeofpackagesidentification_01 = "CS"; // Repeating PCI Groups pacLoop.PCILoop = new List <Loop_PCI_ORDERS>(); // Begin PCI Group var pciLoop = new Loop_PCI_ORDERS(); // The expiry date of the product is to be marked on it's packaging pciLoop.PCI = new PCI(); pciLoop.PCI.Markinginstructionscoded_01 = "14"; // End PCI Group pacLoop.PCILoop.Add(pciLoop); // End PAC Group linLoop1.PACLoop.Add(pacLoop); // Repeating LOC Groups linLoop1.LOCLoop = new List <Loop_LOC_ORDERS_2>(); // Begin LOC Group 1 var locLoop1 = new Loop_LOC_ORDERS_2(); // The second place to which the product is to be delivered is identified by GLN 3312345502000 locLoop1.LOC = new LOC(); locLoop1.LOC.Placelocationqualifier_01 = "7"; locLoop1.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locLoop1.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01 = "3312345502000"; locLoop1.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9"; // The quantity to be delivered at this location is 24 locLoop1.QTY = new QTY(); locLoop1.QTY.QUANTITYDETAILS_01 = new C186(); locLoop1.QTY.QUANTITYDETAILS_01.Quantityqualifier_01 = "11"; locLoop1.QTY.QUANTITYDETAILS_01.Quantity_02 = "24"; // Repeating DTM locLoop1.DTM = new List <DTM>(); // The quantity should be delivered on the 15th of September 2002 var dtmLoc = new DTM(); dtmLoc.DATETIMEPERIOD_01 = new C507(); dtmLoc.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "2"; dtmLoc.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020915"; dtmLoc.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102"; locLoop1.DTM.Add(dtmLoc); // End LOC Group 1 linLoop1.LOCLoop.Add(locLoop1); // Begin LOC Group 2 var locLoop2 = new Loop_LOC_ORDERS_2(); // The first place to which the product is to be delivered is identified by GLN 3312345501003 locLoop2.LOC = new LOC(); locLoop2.LOC.Placelocationqualifier_01 = "7"; locLoop2.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locLoop2.LOC.LOCATIONIDENTIFICATION_02.Placelocationidentification_01 = "3312345501003"; locLoop2.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycoded_03 = "9"; // The quantity to be delivered at this location is 24 locLoop2.QTY = new QTY(); locLoop2.QTY.QUANTITYDETAILS_01 = new C186(); locLoop2.QTY.QUANTITYDETAILS_01.Quantityqualifier_01 = "11"; locLoop2.QTY.QUANTITYDETAILS_01.Quantity_02 = "24"; // Repeating DTM locLoop2.DTM = new List <DTM>(); // The quantity should be delivered on the 13th of September 2002 var dtmLoc2 = new DTM(); dtmLoc2.DATETIMEPERIOD_01 = new C507(); dtmLoc2.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 = "2"; dtmLoc2.DATETIMEPERIOD_01.Datetimeperiod_02 = "20020913"; dtmLoc2.DATETIMEPERIOD_01.Datetimeperiodformatqualifier_03 = "102"; locLoop2.DTM.Add(dtmLoc2); // End LOC Group 2 linLoop1.LOCLoop.Add(locLoop2); // Repeating TAX Groups linLoop1.TAXLoop = new List <Loop_TAX_ORDERS>(); // Begin TAX Group var taxLoop = new Loop_TAX_ORDERS(); // The product is subject to the standard VAT rate of 17.5% taxLoop.TAX = new TAX(); taxLoop.TAX.Dutytaxfeefunctionqualifier_01 = "7"; taxLoop.TAX.DUTYTAXFEETYPE_02 = new C241(); taxLoop.TAX.DUTYTAXFEETYPE_02.Dutytaxfeetypecoded_01 = "VAT"; taxLoop.TAX.DUTYTAXFEEDETAIL_05 = new C243(); taxLoop.TAX.DUTYTAXFEEDETAIL_05.Dutytaxfeerate_04 = "17.5"; taxLoop.TAX.Dutytaxfeecategorycoded_06 = "S"; // End TAX Group linLoop1.TAXLoop.Add(taxLoop); // End LIN Group 1 result.LINLoop.Add(linLoop1); // Message detail/summary separator result.UNS = new UNS(); result.UNS.Sectionidentification_01 = "S"; // Repeating CNT result.CNT = new List <CNT>(); // Count of the number of LIN segments in the message var cnt = new CNT(); cnt.CONTROL_01 = new C270(); cnt.CONTROL_01.Controlqualifier_01 = "2"; cnt.CONTROL_01.Controlvalue_02 = "1"; result.CNT.Add(cnt); return(result); }
/// <summary> /// Build bayplan. /// Original from http://www.smdg.org/assets/assets/BAPLIE3.1.1-02.pdf? /// </summary> static TSBAPLIE BuildBayplan(string controlNumber) { var result = new TSBAPLIE(); // Message header (ref id = M-EX1/1) result.UNH = new UNH(); result.UNH.MessageReferenceNumber_01 = controlNumber.PadLeft(14, '0'); result.UNH.MessageIdentifier_02 = new S009(); result.UNH.MessageIdentifier_02.MessageType_01 = "BAPLIE"; result.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D"; result.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "13B"; result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN"; result.UNH.MessageIdentifier_02.AssociationAssignedCode_05 = "SMDG31"; // Partial BAPLIE(code 659), loaded containers only(LOADONLY), final stage(code 38) result.BGM = new BGM(); result.BGM.DOCUMENTMESSAGENAME_01 = new C002(); result.BGM.DOCUMENTMESSAGENAME_01.Documentnamecode_01 = "659"; result.BGM.DOCUMENTMESSAGENAME_01.Codelistresponsibleagencycode_03 = "LOADONLY"; result.BGM.DOCUMENTMESSAGEIDENTIFICATION_02 = new C106(); result.BGM.DOCUMENTMESSAGEIDENTIFICATION_02.Documentidentifier_01 = "M-EX1/1"; result.BGM.Responsetypecode_04 = "38"; // Repeating DTM result.DTM = new List <DTM>(); // Date/time (UTC) when message has been prepared var dtm1 = new DTM(); dtm1.DATETIMEPERIOD_01 = new C507(); dtm1.DATETIMEPERIOD_01.Dateortimeorperiodfunctioncodequalifier_01 = "137"; dtm1.DATETIMEPERIOD_01.Dateortimeorperiodtext_02 = "201304130959"; dtm1.DATETIMEPERIOD_01.Dateortimeorperiodformatcode_03 = "203"; result.DTM.Add(dtm1); // Repeating NAD Groups result.NADLoop = new List <Loop_NAD_BAPLIE>(); // Begin NAD Group var nadLoop1 = new Loop_NAD_BAPLIE(); // Function of sender (terminal) nadLoop1.NAD = new NAD(); nadLoop1.NAD.Partyfunctioncodequalifier_01 = "WZ"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "HNE"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "TERMINALS"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycode_03 = "306"; // End NAD Group result.NADLoop.Add(nadLoop1); // Repeating TDT Groups result.TDTLoop = new List <Loop_TDT_BAPLIE>(); // Begin TDT Group var tdtLoop1 = new Loop_TDT_BAPLIE(); // Discharge voyage number, vessel operator, vessel identification tdtLoop1.TDT = new TDT(); tdtLoop1.TDT.Transportstagecodequalifier_01 = "20"; tdtLoop1.TDT.Meansoftransportjourneyidentifier_02 = "123W45"; tdtLoop1.TDT.CARRIER_05 = new C040(); tdtLoop1.TDT.CARRIER_05.Carrieridentifier_01 = "HLC"; tdtLoop1.TDT.CARRIER_05.Codelistidentificationcode_02 = "LINES"; tdtLoop1.TDT.CARRIER_05.Codelistresponsibleagencycode_03 = "306"; tdtLoop1.TDT.EXCESSTRANSPORTATIONINFORMATION_07 = new C401(); tdtLoop1.TDT.EXCESSTRANSPORTATIONINFORMATION_07.Excesstransportationreasoncode_01 = "9354351"; tdtLoop1.TDT.EXCESSTRANSPORTATIONINFORMATION_07.Excesstransportationresponsibilitycode_02 = "11"; tdtLoop1.TDT.EXCESSTRANSPORTATIONINFORMATION_07.Customershipmentauthorisationidentifier_03 = "ANINA"; // Loading voyage number tdtLoop1.RFF = new RFF(); tdtLoop1.RFF.REFERENCE_01 = new C506(); tdtLoop1.RFF.REFERENCE_01.Referencecodequalifier_01 = "VON"; tdtLoop1.RFF.REFERENCE_01.Referenceidentifier_02 = "123E38"; // Repeating LOC TDT Groups tdtLoop1.LOCLoop = new List <Loop_LOC_BAPLIE_2>(); // Begin LOC TDT Group 1 var locTdtLoop1 = new Loop_LOC_BAPLIE_2(); // Place of departure locTdtLoop1.LOC = new LOC(); locTdtLoop1.LOC.Locationfunctioncodequalifier_01 = "5"; locTdtLoop1.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locTdtLoop1.LOC.LOCATIONIDENTIFICATION_02.Locationidentifier_01 = "BEANR"; // Repeating DTM locTdtLoop1.DTM = new List <DTM>(); // Actual departure time var dtmLoc1 = new DTM(); dtmLoc1.DATETIMEPERIOD_01 = new C507(); dtmLoc1.DATETIMEPERIOD_01.Dateortimeorperiodfunctioncodequalifier_01 = "136"; dtmLoc1.DATETIMEPERIOD_01.Dateortimeorperiodtext_02 = "201304301048"; dtmLoc1.DATETIMEPERIOD_01.Dateortimeorperiodformatcode_03 = "203"; locTdtLoop1.DTM.Add(dtmLoc1); // End LOC TDT Group 1 tdtLoop1.LOCLoop.Add(locTdtLoop1); // Begin LOC TDT Group 2 var locTdtLoop2 = new Loop_LOC_BAPLIE_2(); // Next port of call locTdtLoop2.LOC = new LOC(); locTdtLoop2.LOC.Locationfunctioncodequalifier_01 = "61"; locTdtLoop2.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locTdtLoop2.LOC.LOCATIONIDENTIFICATION_02.Locationidentifier_01 = "FRLEH"; // Repeating DTM locTdtLoop2.DTM = new List <DTM>(); // Estimated arrival time var dtmLoc2 = new DTM(); dtmLoc2.DATETIMEPERIOD_01 = new C507(); dtmLoc2.DATETIMEPERIOD_01.Dateortimeorperiodfunctioncodequalifier_01 = "178"; dtmLoc2.DATETIMEPERIOD_01.Dateortimeorperiodtext_02 = "201305012100"; dtmLoc2.DATETIMEPERIOD_01.Dateortimeorperiodformatcode_03 = "203"; locTdtLoop2.DTM.Add(dtmLoc2); // End LOC TDT Group 2 tdtLoop1.LOCLoop.Add(locTdtLoop2); // End TDT Group result.TDTLoop.Add(tdtLoop1); // End of message header result.UNS = new UNS(); result.UNS.Sectionidentification_01 = "D"; // Repeating LOC Groups result.LOCLoop = new List <Loop_LOC_BAPLIE>(); // Begin LOC Group 1 var locLoop1 = new Loop_LOC_BAPLIE(); // Stowage location (used) locLoop1.LOC = new LOC(); locLoop1.LOC.Locationfunctioncodequalifier_01 = "147"; locLoop1.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locLoop1.LOC.LOCATIONIDENTIFICATION_02.Locationidentifier_01 = "0200688"; locLoop1.LOC.LOCATIONIDENTIFICATION_02.Codelistidentificationcode_02 = "9711"; locLoop1.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycode_03 = "5"; // Repeating EQD Groups locLoop1.EQDLoop = new List <Loop_EQD_BAPLIE>(); // Begin EQD Group var eqdLocLoop1 = new Loop_EQD_BAPLIE(); // 40' open top container eqdLocLoop1.EQD = new EQD(); eqdLocLoop1.EQD.Equipmenttypecodequalifier_01 = "CN"; eqdLocLoop1.EQD.EQUIPMENTIDENTIFICATION_02 = new C237(); eqdLocLoop1.EQD.EQUIPMENTIDENTIFICATION_02.Equipmentidentifier_01 = "SUDU1234569"; eqdLocLoop1.EQD.EQUIPMENTIDENTIFICATION_02.Codelistidentificationcode_02 = "6346"; eqdLocLoop1.EQD.EQUIPMENTIDENTIFICATION_02.Codelistresponsibleagencycode_03 = "5"; eqdLocLoop1.EQD.EQUIPMENTSIZEANDTYPE_03 = new C224(); eqdLocLoop1.EQD.EQUIPMENTSIZEANDTYPE_03.Equipmentsizeandtypedescriptioncode_01 = "42U0"; eqdLocLoop1.EQD.EQUIPMENTSIZEANDTYPE_03.Codelistidentificationcode_02 = "6346"; eqdLocLoop1.EQD.EQUIPMENTSIZEANDTYPE_03.Codelistresponsibleagencycode_03 = "5"; eqdLocLoop1.EQD.Fulloremptyindicatorcode_06 = "5"; // Repeating NAD eqdLocLoop1.NAD = new List <NAD>(); // Container operator (HSD) var nadEqd1 = new NAD(); nadEqd1.Partyfunctioncodequalifier_01 = "CF"; nadEqd1.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadEqd1.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "HSD"; nadEqd1.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "LINES"; nadEqd1.PARTYIDENTIFICATIONDETAILS_02.Codelistresponsibleagencycode_03 = "306"; eqdLocLoop1.NAD.Add(nadEqd1); // Repeating MEA eqdLocLoop1.MEA = new List <MEA>(); // Gross weight (22.6 t) var meaEqd1 = new MEA(); meaEqd1.Measurementpurposecodequalifier_01 = "AAE"; meaEqd1.MEASUREMENTDETAILS_02 = new C502(); meaEqd1.MEASUREMENTDETAILS_02.Measuredattributecode_01 = "AET"; meaEqd1.VALUERANGE_03 = new C174(); meaEqd1.VALUERANGE_03.Measurementunitcode_01 = "KGM"; meaEqd1.VALUERANGE_03.Measure_02 = "22600"; eqdLocLoop1.MEA.Add(meaEqd1); // Repeating DIM eqdLocLoop1.DIM = new List <DIM>(); // Overheight (92 cm) var dimEqd1 = new DIM(); dimEqd1.Dimensiontypecodequalifier_01 = "13"; dimEqd1.DIMENSIONS_02 = new C211(); dimEqd1.DIMENSIONS_02.Measurementunitcode_01 = "CMT"; dimEqd1.DIMENSIONS_02.Heightmeasure_04 = "92"; eqdLocLoop1.DIM.Add(dimEqd1); // End EQD Group locLoop1.EQDLoop.Add(eqdLocLoop1); // Control total locLoop1.CNT = new CNT(); locLoop1.CNT.CONTROL_01 = new C270(); locLoop1.CNT.CONTROL_01.Controlqualifier_01 = "8"; locLoop1.CNT.CONTROL_01.Controlvalue_02 = "1"; // End LOC Group 1 result.LOCLoop.Add(locLoop1); // Begin LOC Group 2 var locLoop2 = new Loop_LOC_BAPLIE(); // Stowage location (blocked) locLoop2.LOC = new LOC(); locLoop2.LOC.Locationfunctioncodequalifier_01 = "147"; locLoop2.LOC.LOCATIONIDENTIFICATION_02 = new C517(); locLoop2.LOC.LOCATIONIDENTIFICATION_02.Locationidentifier_01 = "0200690"; locLoop2.LOC.LOCATIONIDENTIFICATION_02.Codelistidentificationcode_02 = "9711"; locLoop2.LOC.LOCATIONIDENTIFICATION_02.Codelistresponsibleagencycode_03 = "5"; // Repeating FTX locLoop2.FTX = new List <FTX>(); // Lost slot var ftxLoc1 = new FTX(); ftxLoc1.Textsubjectcodequalifier_01 = "AGW"; ftxLoc1.TEXTREFERENCE_03 = new C107(); ftxLoc1.TEXTREFERENCE_03.Freetextdescriptioncode_01 = "LOST"; ftxLoc1.TEXTREFERENCE_03.Codelistidentificationcode_02 = "STOWLOC"; ftxLoc1.TEXTREFERENCE_03.Codelistresponsibleagencycode_03 = "306"; locLoop2.FTX.Add(ftxLoc1); // Equipment causing lost slot locLoop2.RFF = new RFF(); locLoop2.RFF.REFERENCE_01 = new C506(); locLoop2.RFF.REFERENCE_01.Referencecodequalifier_01 = "EQ"; locLoop2.RFF.REFERENCE_01.Referenceidentifier_02 = "SUDU123459"; // Control total locLoop2.CNT = new CNT(); locLoop2.CNT.CONTROL_01 = new C270(); locLoop2.CNT.CONTROL_01.Controlqualifier_01 = "8"; locLoop2.CNT.CONTROL_01.Controlvalue_02 = "0"; // End LOC Group 2 result.LOCLoop.Add(locLoop2); return(result); }
/// <summary> /// Build cargo report. /// Original from https://www.cbp.gov/sites/default/files/documents/cuscar_012_30_3.txt /// </summary> static TSCUSCAR BuildCargoReport(string controlNumber) { var result = new TSCUSCAR(); // Message header result.UNH = new UNH(); result.UNH.MessageReferenceNumber_01 = controlNumber.PadLeft(14, '0'); result.UNH.MessageIdentifier_02 = new S009(); result.UNH.MessageIdentifier_02.MessageType_01 = "CUSCAR"; result.UNH.MessageIdentifier_02.MessageVersionNumber_02 = "D"; result.UNH.MessageIdentifier_02.MessageReleaseNumber_03 = "03B"; result.UNH.MessageIdentifier_02.ControllingAgencyCoded_04 = "UN"; result.BGM = new BGM(); result.BGM.DOCUMENTMESSAGENAME_01 = new C002(); result.BGM.DOCUMENTMESSAGENAME_01.Documentnamecode_01 = "85"; result.BGM.DOCUMENTMESSAGENAME_01.Documentname_04 = "STANDARD"; result.BGM.DOCUMENTMESSAGEIDENTIFICATION_02 = new C106(); result.BGM.DOCUMENTMESSAGEIDENTIFICATION_02.Documentidentifier_01 = "LOCKKH04112206"; result.BGM.Messagefunctioncode_03 = "22"; // Repeating DTM result.DTM = new List <DTM>(); var dtm1 = new DTM(); dtm1.DATETIMEPERIOD_01 = new C507(); dtm1.DATETIMEPERIOD_01.Dateortimeorperiodfunctioncodequalifier_01 = "132"; dtm1.DATETIMEPERIOD_01.Dateortimeorperiodtext_02 = "200412301200"; dtm1.DATETIMEPERIOD_01.Dateortimeorperiodformatcode_03 = "203"; result.DTM.Add(dtm1); // Repeating LOC result.LOC = new List <LOC>(); var loc1 = new LOC(); loc1.Locationfunctioncodequalifier_01 = "60"; loc1.LOCATIONIDENTIFICATION_02 = new C517(); loc1.LOCATIONIDENTIFICATION_02.Locationnamecode_01 = "0901"; loc1.LOCATIONIDENTIFICATION_02.Codelistidentificationcode_02 = "77"; result.LOC.Add(loc1); // Repeating RFF Groups result.RFFLoop = new List <Loop_RFF_CUSCAR>(); // Begin RFF Group var rffLoop1 = new Loop_RFF_CUSCAR(); rffLoop1.RFF = new RFF(); rffLoop1.RFF.REFERENCE_01 = new C506(); rffLoop1.RFF.REFERENCE_01.Referencecodequalifier_01 = "ABO"; rffLoop1.RFF.REFERENCE_01.Referenceidentifier_02 = "ABO04100000"; // End RFF Group result.RFFLoop.Add(rffLoop1); // Repeating RFF Groups result.NADLoop = new List <Loop_NAD_CUSCAR>(); // Begin NAD Group 1 var nadLoop1 = new Loop_NAD_CUSCAR(); nadLoop1.NAD = new NAD(); nadLoop1.NAD.Partyfunctioncodequalifier_01 = "CA"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "LOCK"; nadLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "172"; nadLoop1.NAD.STREET_05 = new C059(); nadLoop1.NAD.STREET_05.Streetandnumberorpostofficeboxidentifier_01 = "11107 SUNSET HILLS ROAD"; nadLoop1.NAD.STREET_05.Streetandnumberorpostofficeboxidentifier_02 = "77705 ARLINGTON ROAD"; nadLoop1.NAD.Cityname_06 = "RESTON"; nadLoop1.NAD.COUNTRYSUBENTITYDETAILS_07 = new C819(); nadLoop1.NAD.COUNTRYSUBENTITYDETAILS_07.Countrysubentitynamecode_01 = "VA"; nadLoop1.NAD.COUNTRYSUBENTITYDETAILS_07.Codelistidentificationcode_02 = "163"; nadLoop1.NAD.Postalidentificationcode_08 = "20190"; // End NAD Group 1 result.NADLoop.Add(nadLoop1); // Begin NAD Group 2 var nadLoop2 = new Loop_NAD_CUSCAR(); nadLoop2.NAD = new NAD(); nadLoop2.NAD.Partyfunctioncodequalifier_01 = "VW"; nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "0000041047"; nadLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "109"; nadLoop2.NAD.PARTYNAME_04 = new C080(); nadLoop2.NAD.PARTYNAME_04.Partyname_01 = "AADLER"; nadLoop2.NAD.PARTYNAME_04.Partyname_02 = "KEN"; // End NAD Group 2 result.NADLoop.Add(nadLoop2); // Repeating FTX result.FTX = new List <FTX>(); var ftx1 = new FTX(); ftx1.Textsubjectcodequalifier_01 = "INS"; ftx1.TEXTREFERENCE_03 = new C107(); ftx1.TEXTREFERENCE_03.Freetextdescriptioncode_01 = "INSURANCE INFOR"; ftx1.TEXTLITERAL_04 = new C108(); ftx1.TEXTLITERAL_04.Freetext_01 = "NAMESTATE FARM INSURANCE COMPANY"; ftx1.TEXTLITERAL_04.Freetext_02 = "PLCYQO123456789"; ftx1.TEXTLITERAL_04.Freetext_03 = "AMNT100000"; ftx1.TEXTLITERAL_04.Freetext_04 = "YEAR2004"; result.FTX.Add(ftx1); // Repeating TDT Groups result.TDTLoop = new List <Loop_TDT_CUSCAR>(); // Begin TDT Group var tdtLoop1 = new Loop_TDT_CUSCAR(); tdtLoop1.TDT = new TDT(); tdtLoop1.TDT.Transportstagecodequalifier_01 = "11"; tdtLoop1.TDT.MODEOFTRANSPORT_03 = new C220(); tdtLoop1.TDT.MODEOFTRANSPORT_03.Transportmodenamecode_01 = "03"; tdtLoop1.TDT.TRANSPORTMEANS_04 = new C001(); tdtLoop1.TDT.TRANSPORTMEANS_04.Transportmeansdescription_04 = "BT"; tdtLoop1.TDT.Transitdirectionindicatorcode_06 = "I"; tdtLoop1.TDT.TRANSPORTIDENTIFICATION_08 = new C222(); tdtLoop1.TDT.TRANSPORTIDENTIFICATION_08.Codelistidentificationcode_02 = "109"; tdtLoop1.TDT.TRANSPORTIDENTIFICATION_08.Transportmeansidentificationname_04 = "10000324"; // End TDT Group result.TDTLoop.Add(tdtLoop1); // Repeating EQD Groups result.EQDLoop = new List <Loop_EQD_CUSCAR>(); // Begin EQD Group var eqdLoop1 = new Loop_EQD_CUSCAR(); eqdLoop1.EQD = new EQD(); eqdLoop1.EQD.Equipmenttypecodequalifier_01 = "BI"; eqdLoop1.EQD.EQUIPMENTIDENTIFICATION_02 = new C237(); eqdLoop1.EQD.EQUIPMENTIDENTIFICATION_02.Equipmentidentifier_01 = "10000325"; eqdLoop1.EQD.EQUIPMENTIDENTIFICATION_02.Codelistidentificationcode_02 = "109"; // Repeating SEL eqdLoop1.SEL = new List <SEL>(); var selEqd = new SEL(); selEqd.Transportunitsealidentifier_01 = "SEALEQUNO001"; eqdLoop1.SEL.Add(selEqd); // Repeating EQD RFF Groups eqdLoop1.RFFLoop = new List <Loop_RFF_CUSCAR_4>(); // Begin RFF Group var rffEqdLoop1 = new Loop_RFF_CUSCAR_4(); rffEqdLoop1.RFF = new RFF(); rffEqdLoop1.RFF.REFERENCE_01 = new C506(); rffEqdLoop1.RFF.REFERENCE_01.Referencecodequalifier_01 = "ABZ"; rffEqdLoop1.RFF.REFERENCE_01.Referenceidentifier_02 = "EQU123"; // Repeating LOC rffEqdLoop1.LOC = new List <LOC>(); var locRff1 = new LOC(); locRff1.Locationfunctioncodequalifier_01 = "89"; locRff1.LOCATIONIDENTIFICATION_02 = new C517(); locRff1.LOCATIONIDENTIFICATION_02.Locationnamecode_01 = "VA"; locRff1.LOCATIONIDENTIFICATION_02.Codelistidentificationcode_02 = "163"; rffEqdLoop1.LOC.Add(locRff1); // End RFF Group eqdLoop1.RFFLoop.Add(rffEqdLoop1); // End EQD Group result.EQDLoop.Add(eqdLoop1); // Repeating CNI Groups result.CNILoop = new List <Loop_CNI_CUSCAR>(); // Begin CNI Group var cniLoop1 = new Loop_CNI_CUSCAR(); cniLoop1.CNI = new CNI(); cniLoop1.CNI.Consolidationitemnumber_01 = "3741"; cniLoop1.CNI.DOCUMENTMESSAGEDETAILS_02 = new C503(); cniLoop1.CNI.DOCUMENTMESSAGEDETAILS_02.Documentstatuscode_02 = "23"; // Repeating DOC cniLoop1.DOC = new List <DOC>(); var docCni1 = new DOC(); docCni1.DOCUMENTMESSAGENAME_01 = new C002(); docCni1.DOCUMENTMESSAGENAME_01.Documentnamecode_01 = "714"; docCni1.DOCUMENTMESSAGENAME_01.Documentname_04 = "61"; docCni1.DOCUMENTMESSAGEDETAILS_02 = new C503(); docCni1.DOCUMENTMESSAGEDETAILS_02.Documentidentifier_01 = "KH041122106"; docCni1.DOCUMENTMESSAGEDETAILS_02.Documentsourcedescription_03 = "LOCK"; cniLoop1.DOC.Add(docCni1); // Repeating RFF CNI Groups cniLoop1.RFFLoop = new List <Loop_RFF_CUSCAR_2>(); // Begin RFF CNI Group var rffCniLoop1 = new Loop_RFF_CUSCAR_2(); rffCniLoop1.RFF = new RFF(); rffCniLoop1.RFF.REFERENCE_01 = new C506(); rffCniLoop1.RFF.REFERENCE_01.Referencecodequalifier_01 = "AAM"; rffCniLoop1.RFF.REFERENCE_01.Referenceidentifier_02 = "LOCKKH041122106"; // Repeating CNT rffCniLoop1.CNT = new List <CNT>(); var cntRff1 = new CNT(); cntRff1.CONTROL_01 = new C270(); cntRff1.CONTROL_01.Controltotaltypecodequalifier_01 = "58"; cntRff1.CONTROL_01.Controltotalquantity_02 = "158"; rffCniLoop1.CNT.Add(cntRff1); // Repeating LOC rffCniLoop1.LOC = new List <LOC>(); var locRff2 = new LOC(); locRff2.Locationfunctioncodequalifier_01 = "9"; locRff2.LOCATIONIDENTIFICATION_02 = new C517(); locRff2.LOCATIONIDENTIFICATION_02.Locationnamecode_01 = "U0107"; locRff2.LOCATIONIDENTIFICATION_02.Codelistidentificationcode_02 = "78"; rffCniLoop1.LOC.Add(locRff2); // Repeating GEI rffCniLoop1.GEI = new List <GEI>(); var geiRff1 = new GEI(); geiRff1.Processinginformationcodequalifier_01 = "7"; geiRff1.PROCESSINGINDICATOR_02 = new C012(); geiRff1.PROCESSINGINDICATOR_02.Processingindicatordescriptioncode_01 = "135"; rffCniLoop1.GEI.Add(geiRff1); // Repeating TDT RFF Groups rffCniLoop1.TDTLoop = new List <Loop_TDT_CUSCAR_2>(); // Begin TDT RFF Group var tdtRffLoop1 = new Loop_TDT_CUSCAR_2(); tdtRffLoop1.TDT = new TDT(); tdtRffLoop1.TDT.Transportstagecodequalifier_01 = "11"; // Repeating DTM tdtRffLoop1.DTM = new List <DTM>(); var dtmRff1 = new DTM(); dtmRff1.DATETIMEPERIOD_01 = new C507(); dtmRff1.DATETIMEPERIOD_01.Dateortimeorperiodfunctioncodequalifier_01 = "133"; dtmRff1.DATETIMEPERIOD_01.Dateortimeorperiodtext_02 = "20041230"; dtmRff1.DATETIMEPERIOD_01.Dateortimeorperiodformatcode_03 = "102"; tdtRffLoop1.DTM.Add(dtmRff1); // Repeating RFF TDT Groups tdtRffLoop1.RFFLoop = new List <Loop_RFF_CUSCAR_3>(); // Begin RFF TDT Group var rffTdtLoop1 = new Loop_RFF_CUSCAR_3(); rffTdtLoop1.RFF = new RFF(); rffTdtLoop1.RFF.REFERENCE_01 = new C506(); rffTdtLoop1.RFF.REFERENCE_01.Referencecodequalifier_01 = "AWM"; // Repeating TSR rffTdtLoop1.TSR = new List <TSR>(); var tsrRff1 = new TSR(); tsrRff1.CONTRACTANDCARRIAGECONDITION_01 = new C536(); tsrRff1.CONTRACTANDCARRIAGECONDITION_01.Contractandcarriageconditioncode_01 = "9"; rffTdtLoop1.TSR.Add(tsrRff1); // End RFF TDTGroup tdtRffLoop1.RFFLoop.Add(rffTdtLoop1); // End TDT RFF Group rffCniLoop1.TDTLoop.Add(tdtRffLoop1); // Repeating NAD RFF Groups rffCniLoop1.NADLoop = new List <Loop_NAD_CUSCAR_2>(); // Begin NAD RFF Group 1 var nadRffLoop1 = new Loop_NAD_CUSCAR_2(); nadRffLoop1.NAD = new NAD(); nadRffLoop1.NAD.Partyfunctioncodequalifier_01 = "CN"; nadRffLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadRffLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "65424"; nadRffLoop1.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "109"; nadRffLoop1.NAD.NAMEANDADDRESS_03 = new C058(); nadRffLoop1.NAD.NAMEANDADDRESS_03.Nameandaddressdescription_01 = "1234 MAIN STREET"; nadRffLoop1.NAD.PARTYNAME_04 = new C080(); nadRffLoop1.NAD.PARTYNAME_04.Partyname_01 = "KATHY SMITH"; nadRffLoop1.NAD.Cityname_06 = "BELTSVILLE"; nadRffLoop1.NAD.COUNTRYSUBENTITYDETAILS_07 = new C819(); nadRffLoop1.NAD.COUNTRYSUBENTITYDETAILS_07.Countrysubentitynamecode_01 = "MD"; nadRffLoop1.NAD.COUNTRYSUBENTITYDETAILS_07.Codelistidentificationcode_02 = "163"; nadRffLoop1.NAD.Postalidentificationcode_08 = "20708"; nadRffLoop1.NAD.Countrynamecode_09 = "US"; // Repeating CTA NAD Groups nadRffLoop1.CTALoop = new List <Loop_CTA_CUSCAR>(); // Begin CTA NAD Group var ctaNadLoop1 = new Loop_CTA_CUSCAR(); ctaNadLoop1.CTA = new CTA(); ctaNadLoop1.CTA.Contactfunctioncode_01 = "IC"; // Repeating COM ctaNadLoop1.COM = new List <COM>(); var comCta1 = new COM(); // Repeating C076 comCta1.COMMUNICATIONCONTACT_01 = new List <C076>(); var c076Com1 = new C076(); c076Com1.Communicationaddressidentifier_01 = "8005551212"; c076Com1.Communicationaddresscodequalifier_02 = "TE"; comCta1.COMMUNICATIONCONTACT_01.Add(c076Com1); ctaNadLoop1.COM.Add(comCta1); // End CTA NAD Group nadRffLoop1.CTALoop.Add(ctaNadLoop1); // End NAD RFF Group 1 rffCniLoop1.NADLoop.Add(nadRffLoop1); // Begin NAD RFF Group 2 var nadRffLoop2 = new Loop_NAD_CUSCAR_2(); nadRffLoop2.NAD = new NAD(); nadRffLoop2.NAD.Partyfunctioncodequalifier_01 = "IM"; nadRffLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadRffLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "00010"; nadRffLoop2.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "109"; nadRffLoop2.NAD.NAMEANDADDRESS_03 = new C058(); nadRffLoop2.NAD.NAMEANDADDRESS_03.Nameandaddressdescription_01 = "1234 MAIN STREET"; nadRffLoop2.NAD.PARTYNAME_04 = new C080(); nadRffLoop2.NAD.PARTYNAME_04.Partyname_01 = "KATHY SMITH"; nadRffLoop2.NAD.Cityname_06 = "BELTSVILLE"; nadRffLoop2.NAD.COUNTRYSUBENTITYDETAILS_07 = new C819(); nadRffLoop2.NAD.COUNTRYSUBENTITYDETAILS_07.Countrysubentitynamecode_01 = "MD"; nadRffLoop2.NAD.COUNTRYSUBENTITYDETAILS_07.Codelistidentificationcode_02 = "163"; nadRffLoop2.NAD.Postalidentificationcode_08 = "20708"; nadRffLoop2.NAD.Countrynamecode_09 = "US"; // Repeating CTA NAD Groups nadRffLoop2.CTALoop = new List <Loop_CTA_CUSCAR>(); // Begin CTA NAD Group var ctaNadLoop2 = new Loop_CTA_CUSCAR(); ctaNadLoop2.CTA = new CTA(); ctaNadLoop2.CTA.Contactfunctioncode_01 = "IC"; // Repeating COM ctaNadLoop2.COM = new List <COM>(); var comCta2 = new COM(); // Repeating C076 comCta2.COMMUNICATIONCONTACT_01 = new List <C076>(); var c076Com2 = new C076(); c076Com2.Communicationaddressidentifier_01 = "8005551212"; c076Com2.Communicationaddresscodequalifier_02 = "TE"; comCta2.COMMUNICATIONCONTACT_01.Add(c076Com2); ctaNadLoop2.COM.Add(comCta2); // End CTA NAD Group nadRffLoop2.CTALoop.Add(ctaNadLoop2); // End NAD RFF Group 2 rffCniLoop1.NADLoop.Add(nadRffLoop2); // Begin NAD RFF Group 3 var nadRffLoop3 = new Loop_NAD_CUSCAR_2(); nadRffLoop3.NAD = new NAD(); nadRffLoop3.NAD.Partyfunctioncodequalifier_01 = "OS"; nadRffLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02 = new C082(); nadRffLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Partyidentifier_01 = "27190"; nadRffLoop3.NAD.PARTYIDENTIFICATIONDETAILS_02.Codelistidentificationcode_02 = "109"; nadRffLoop3.NAD.NAMEANDADDRESS_03 = new C058(); nadRffLoop3.NAD.NAMEANDADDRESS_03.Nameandaddressdescription_01 = "1234 MAIN STREET"; nadRffLoop3.NAD.PARTYNAME_04 = new C080(); nadRffLoop3.NAD.PARTYNAME_04.Partyname_01 = "KATHY SMITH"; nadRffLoop3.NAD.Cityname_06 = "BELTSVILLE"; nadRffLoop3.NAD.COUNTRYSUBENTITYDETAILS_07 = new C819(); nadRffLoop3.NAD.COUNTRYSUBENTITYDETAILS_07.Countrysubentitynamecode_01 = "MD"; nadRffLoop3.NAD.COUNTRYSUBENTITYDETAILS_07.Codelistidentificationcode_02 = "163"; nadRffLoop3.NAD.Postalidentificationcode_08 = "20708"; nadRffLoop3.NAD.Countrynamecode_09 = "US"; // Repeating CTA NAD Groups nadRffLoop3.CTALoop = new List <Loop_CTA_CUSCAR>(); // Begin CTA NAD Group var ctaNadLoop3 = new Loop_CTA_CUSCAR(); ctaNadLoop3.CTA = new CTA(); ctaNadLoop3.CTA.Contactfunctioncode_01 = "IC"; // Repeating COM ctaNadLoop3.COM = new List <COM>(); var comCta3 = new COM(); // Repeating C076 comCta3.COMMUNICATIONCONTACT_01 = new List <C076>(); var c076Com3 = new C076(); c076Com3.Communicationaddressidentifier_01 = "8005551212"; c076Com3.Communicationaddresscodequalifier_02 = "TE"; comCta3.COMMUNICATIONCONTACT_01.Add(c076Com2); ctaNadLoop3.COM.Add(comCta3); // End CTA NAD Group nadRffLoop3.CTALoop.Add(ctaNadLoop3); // End NAD RFF Group 3 rffCniLoop1.NADLoop.Add(nadRffLoop3); // Repeating GID RFF Groups rffCniLoop1.GIDLoop = new List <Loop_GID_CUSCAR>(); // Begin GID RFF Group var gidRffLoop1 = new Loop_GID_CUSCAR(); gidRffLoop1.GID = new GID(); gidRffLoop1.GID.Goodsitemnumber_01 = "1"; // Repeating PAC gidRffLoop1.PAC = new List <PAC>(); var pacGid1 = new PAC(); pacGid1.Packagequantity_01 = "158"; pacGid1.PACKAGETYPE_03 = new C202(); pacGid1.PACKAGETYPE_03.Packagetypedescriptioncode_01 = "COL"; gidRffLoop1.PAC.Add(pacGid1); // Repeating FTX gidRffLoop1.FTX = new List <FTX>(); var ftxGid1 = new FTX(); ftxGid1.Textsubjectcodequalifier_01 = "AAA"; ftxGid1.TEXTLITERAL_04 = new C108(); ftxGid1.TEXTLITERAL_04.Freetext_01 = "IRON COIL"; ftxGid1.TEXTLITERAL_04.Freetext_02 = "SHEET METAL"; gidRffLoop1.FTX.Add(ftxGid1); // Repeating MEA gidRffLoop1.MEA = new List <MEA>(); var meaGid1 = new MEA(); meaGid1.Measurementpurposecodequalifier_01 = "AAI"; meaGid1.VALUERANGE_03 = new C174(); meaGid1.VALUERANGE_03.Measurementunitcode_01 = "K"; meaGid1.VALUERANGE_03.Measure_02 = "750"; gidRffLoop1.MEA.Add(meaGid1); // Repeating SGP gidRffLoop1.SGP = new List <SGP>(); var sgpGid1 = new SGP(); sgpGid1.EQUIPMENTIDENTIFICATION_01 = new C237(); sgpGid1.EQUIPMENTIDENTIFICATION_01.Equipmentidentifier_01 = "10000325"; sgpGid1.EQUIPMENTIDENTIFICATION_01.Codelistidentificationcode_02 = "109"; gidRffLoop1.SGP.Add(sgpGid1); // End GID RFF Group rffCniLoop1.GIDLoop.Add(gidRffLoop1); // End RFF CNI Group cniLoop1.RFFLoop.Add(rffCniLoop1); // End CNI Group result.CNILoop.Add(cniLoop1); return(result); }