/// <summary> /// Erstellt die Meldedatei anhand von <paramref name="data"/> neu. /// </summary> /// <param name="data">Die Daten die zur Erstellung der Meldedatei benutzt werden sollen</param> /// <param name="streamName">Der Name des Streams der für die Erstellung der Meldedatei benutzt werden soll</param> /// <returns>Die Meldedatei</returns> private string GetStringFromMessage(DeuevMessageData data, string streamName) { var output = new StringWriter(); using (var writer = StreamFactory.CreateWriter(streamName, output)) { foreach (var record in data.VOSZ) writer.Write(record); foreach (var record in data.DSKK) writer.Write(record); foreach (var record in data.NCSZ) writer.Write(record); } return output.ToString(); }
private DeuevMessageData GetMessageFromString(string input, string streamName) { var reader = StreamFactory.CreateReader(streamName, new StringReader(input)); var deuevMessage = new DeuevMessageData(); try { var streamObject = reader.Read(); do { var vosz = Assert.IsType<VOSZ>(streamObject); deuevMessage.VOSZ.Add(vosz); streamObject = reader.Read(); } while (reader.RecordName == "VOSZ" || reader.RecordName == "VOSZ-v01"); while (reader.RecordName == "DSKK" || reader.RecordName == "DSKK-v02") { var record = Assert.IsType<DSKK02>(streamObject); deuevMessage.DSKK.Add(record); streamObject = reader.Read(); } do { var ncsz = Assert.IsType<NCSZ>(streamObject); deuevMessage.NCSZ.Add(ncsz); streamObject = reader.Read(); } while (reader.RecordName != null && (reader.RecordName == "NCSZ-v01" || reader.RecordName == "NCSZ")); Assert.Null(reader.RecordName); Assert.Equal(deuevMessage.VOSZ.Count, deuevMessage.NCSZ.Count); return deuevMessage; } finally { reader.Close(); } }