public static string BuildAck(ISA originalIsa, GS originalGs, EdiMessage ack, AckVersion ackVersion, int isaControlNumber = 1, int gsControlNumber = 1) { var memoryStream = new MemoryStream(); var writer = new X12Writer(memoryStream, Encoding.Default, Environment.NewLine); writer.Write(originalIsa.ToAckIsa(isaControlNumber.ToString().PadLeft(9, '0'), ackVersion)); writer.Write(originalGs.ToAckGs(gsControlNumber.ToString(), ackVersion)); writer.Write(ack); writer.Flush(); memoryStream.Position = 0; using (var reader = new StreamReader(memoryStream)) return(reader.ReadToEnd()); }
private static string BuildAck <T>(ISA originalIsa, GS originalGs, T ack, AckVersion ackVersion, int isaControlNumber = 1, int gsControlNumber = 1) where T : EdiMessage { var memoryStream = new MemoryStream(); using (var writer = new X12Writer(memoryStream, new X12WriterSettings() { Encoding = Encoding.Default, Postfix = Environment.NewLine })) { writer.Write(originalIsa.ToAckIsa(isaControlNumber.ToString().PadLeft(9, '0'), ackVersion)); writer.Write(originalGs.ToAckGs(gsControlNumber.ToString(), ackVersion)); writer.Write(ack); } memoryStream.Position = 0; using (var reader = new StreamReader(memoryStream)) return(reader.ReadToEnd()); }