private static void WriteLenovoAsn(TSDESADV asn, FieldWriter writer) { writer.WL("MessageReferenceNumber_01", asn.UNH.MessageReferenceNumber_01); foreach (var dtm in asn.DTM) { writer.WL(MapLenovoDate.TryGetValue(dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01, out var d) ? d : dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/2380.htm" , dtm.DATETIMEPERIOD_01.Datetimeperiod_02); } foreach (var rff in asn.RFFLoop) { writer.WL( MapLenovoRff.TryGetValue(rff.RFF.REFERENCE_01.Referencequalifier_01, out var rffn) ? rffn : rff.RFF.REFERENCE_01.Referencequalifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/1153.htm" , rff.RFF.REFERENCE_01.Referencenumber_02); } foreach (var nad in asn.NADLoop) { writer.WL(MapLenovoParty.TryGetValue(nad.NAD.Partyqualifier_01, out var d) ? d : nad.NAD.Partyqualifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/2380.htm" , nad.NAD.PARTYNAME_04.Partyname_01); } foreach (var csp in asn.CPSLoop) { foreach (var pac in csp.PACLoop) { foreach (var pci in pac.PCILoop) { writer.WL("MARKS & LABELS", pci.PCI.MARKSLABELS_02.Shippingmarks_01); } } writer.WL("------ lines -----", ""); foreach (var lin in csp.LINLoop) { writer.WL("Lineitemnumber_01", lin.LIN.Lineitemnumber_01); writer.WL("item type", lin.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01); foreach (var qty in lin.QTY) { writer.WL("despatch quantity", qty.QUANTITYDETAILS_01.Quantity_02); } foreach (var loc in lin.LOCLoop) { writer.WL("LOCATION IDENTIFICATION/place location", loc.LOC.LOCATIONIDENTIFICATION_02.Placelocation_04); } foreach (var pci in lin.PCILoop) { if (pci.PCI.MARKSLABELS_02 != null) { writer.WL("MARKS & LABELS", pci.PCI.MARKSLABELS_02.Shippingmarks_01); } } } } }
private static void WriteLenovoOrder(TSORDERS order, FieldWriter writer) { writer.WL("MessageReferenceNumber_01", order.UNH.MessageReferenceNumber_01); foreach (var dtm in order.DTM) { writer.WL(MapLenovoDate.TryGetValue(dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01, out var d) ? d : dtm.DATETIMEPERIOD_01.Datetimeperiodqualifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/2380.htm" , dtm.DATETIMEPERIOD_01.Datetimeperiod_02); } writer.WL(" ", ""); if (order.FTX != null) { foreach (var ftx in order.FTX) { writer.WL("delivery instruction", ftx.TEXTLITERAL_04.Freetext_01); } } writer.WL(" ", ""); foreach (var rff in order.RFFLoop) { writer.WL( MapLenovoRff.TryGetValue(rff.RFF.REFERENCE_01.Referencequalifier_01, out var rffn) ? rffn : rff.RFF.REFERENCE_01.Referencequalifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/1153.htm" , rff.RFF.REFERENCE_01.Referencenumber_02); } writer.WL(" ", ""); foreach (var nad in order.NADLoop) { writer.WL(MapLenovoParty.TryGetValue(nad.NAD.Partyqualifier_01, out var d) ? d : nad.NAD.Partyqualifier_01 + " search here http://www.stylusstudio.com/edifact/D97A/2380.htm" , nad.NAD.PARTYIDENTIFICATIONDETAILS_02?.Partyididentification_01); writer.WL("Nameandaddressline_01", nad.NAD.NAMEANDADDRESS_03?.Nameandaddressline_01); writer.WL("Nameandaddressline_02", nad.NAD.NAMEANDADDRESS_03?.Nameandaddressline_02); writer.WL("Nameandaddressline_03", nad.NAD.NAMEANDADDRESS_03?.Nameandaddressline_03); writer.WL("Streetandnumberpobox_01", nad.NAD.STREET_05?.Streetandnumberpobox_01); writer.WL("Streetandnumberpobox_02", nad.NAD.STREET_05?.Streetandnumberpobox_02); writer.WL("Streetandnumberpobox_03", nad.NAD.STREET_05?.Streetandnumberpobox_03); writer.WL("Cityname_06", nad.NAD.Cityname_06); writer.WL("Postcodeidentification_08", nad.NAD.Postcodeidentification_08); writer.WL("Countrycoded_09", nad.NAD.Countrycoded_09); writer.WL(" ", ""); } foreach (var tdt in order.TDTLoop) { writer.WL("Carrieridentification_01", tdt.TDT.CARRIER_05?.Carrieridentification_01); writer.WL("Carriername_04", tdt.TDT.CARRIER_05?.Carriername_04); writer.WL("Idofmeansoftransportidentification_01", tdt.TDT.TRANSPORTIDENTIFICATION_08?.Idofmeansoftransportidentification_01); } writer.WL("------ lines -----", ""); foreach (var lin in order.LINLoop) { writer.WL("Lineitemnumber_01", lin.LIN.Lineitemnumber_01); writer.WL("item type", lin.LIN.ITEMNUMBERIDENTIFICATION_03.Itemnumber_01); foreach (var qty in lin.QTY) { writer.WL("despatch quantity", qty.QUANTITYDETAILS_01.Quantity_02); } foreach (var loc in lin.LOCLoop) { writer.WL("Storage Location", loc.LOC.LOCATIONIDENTIFICATION_02.Placelocation_04); } if (lin.GIN != null) { foreach (var gin in lin.GIN) { writer.WL("serial number", gin.IDENTITYNUMBERRANGE_02.Identitynumber_01); } } if (lin.GIR != null) { foreach (var gir in lin.GIR) { writer.WL("package", gir.IDENTIFICATIONNUMBER_02.Identitynumber_01); } } writer.WL(" ", ""); } }