/// <summary> /// Batch multiple transactions under multiple functional groups in the same EDI stream /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); using (var stream = new MemoryStream()) { using (var writer = new X12Writer(stream)) { writer.Write(SegmentBuilders.BuildIsa("1")); // 1. Write the first group writer.Write(SegmentBuilders.BuildGs("1")); // Write the transactions... writer.Write(SegmentBuilders.BuildInvoice("1")); // 2. Write the second group // No need to close the previous group with a GE writer.Write(SegmentBuilders.BuildGs("2")); // Write the transactions... writer.Write(SegmentBuilders.BuildInvoice("2")); } Debug.Write(stream.LoadToString()); } }
/// <summary> /// Write with custom separators, by default it uses the standard separators. /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); var invoice = SegmentBuilders.BuildInvoice("1"); using (var stream = new MemoryStream()) { using (var writer = new X12Writer(stream)) { // Set a custom segment separator. var separators = Separators.X12; separators.Segment = '|'; // Write the ISA with the custom separator set writer.Write(SegmentBuilders.BuildIsa("1"), separators); writer.Write(SegmentBuilders.BuildGs("1")); writer.Write(invoice); } Debug.Write(stream.LoadToString()); } }
/// <summary> /// Write transactions with whitespace. /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); var invoice = SegmentBuilders.BuildInvoice("1"); // Initialize some properties with blanks invoice.BIG.ReleaseNumber_05 = ""; invoice.BIG.ChangeOrderSequenceNumber_06 = ""; using (var stream = new MemoryStream()) { // Set the PreserveWhitespace flag to true using (var writer = new X12Writer(stream, new X12WriterSettings() { PreserveWhitespace = true })) { writer.Write(SegmentBuilders.BuildIsa("1")); writer.Write(SegmentBuilders.BuildGs("1")); writer.Write(invoice); } Debug.Write(stream.LoadToString()); } }
/// <summary> /// Write transactions with whitespace. /// </summary> public static void Run() { Debug.WriteLine("******************************"); Debug.WriteLine(MethodBase.GetCurrentMethod().Name); Debug.WriteLine("******************************"); var invoice = SegmentBuilders.BuildInvoice("1"); // Initialize a blank property invoice.BGM.Responsetypecoded_04 = ""; using (var stream = new MemoryStream()) { // Set PreserveWhitespace flag to true using (var writer = new EdifactWriter(stream, new EdifactWriterSettings() { PreserveWhitespace = true })) { writer.Write(SegmentBuilders.BuildUnb("1")); writer.Write(invoice); } Debug.Write(stream.LoadToString()); } }