Пример #1
0
        private void BtnEdiTest_Click(object sender, EventArgs e)
        {
            bool   _OK = readEdiTest();
            string edi =
                @"ISA*01*0000000000*01*0000000000*ZZ*ABCDEFGHIJKLMNO*ZZ*123456789012345*101127*1719*U*00400*000003438*0*P*>
                GS*OW*7705551212*3111350000*20000128*0557*3317*T*004010
                ST*940*0001
                W05*N*538686**001001*538686
                LX*1
                W01*12*CA*000100000010*VN*000100*UC*DEC0199******19991205
                G69*11.500 STRUD BLUBRY
                W76*56*500*LB*24*CF
                SE*7*0001
                GE*1*3317
                IEA*1*000003438";


            EdiDataReader r = new EdiDataReader();
            EdiBatch      b = r.FromString(edi);

            //Serialize the whole batch to JSON
            JsonDataWriter w1   = new JsonDataWriter();
            string         json = w1.WriteToString(b);

            //OR Serialize selected EDI message to Json
            string jsonTrans = JsonConvert.SerializeObject(b.Interchanges[0].Groups[0].Transactions[0]);

            //Serialize the whole batch to XML
            XmlDataWriter w2  = new XmlDataWriter();
            string        xml = w2.WriteToString(b);
        }
Пример #2
0
        public void XmlReadWrite_XmlSerializationHlLoopTest()
        {
            using (Stream s = GetType().Assembly.GetManifestResourceStream("EdiEngine.Tests.TestData.856.Crossdock.OK.edi"))
            {
                EdiDataReader r = new EdiDataReader();
                EdiBatch      b = r.FromStream(s);

                XmlDataWriter w    = new XmlDataWriter();
                string        data = w.WriteToString(b);

                XmlDocument xdoc = ValidateBySchema(data);

                //check parsed seg count
                int?segCount = xdoc.SelectNodes("//EdiSegment")?.Count;
                Assert.AreEqual(61, segCount);
            }
        }
Пример #3
0
        public void XmlReadWrite_XmlSerializationTest()
        {
            using (Stream s = GetType().Assembly.GetManifestResourceStream("EdiEngine.Tests.TestData.940.OK.edi"))
            {
                EdiDataReader r = new EdiDataReader();
                EdiBatch      b = r.FromStream(s);

                XmlDataWriter w    = new XmlDataWriter();
                string        data = w.WriteToString(b);

                Stream stream = w.WriteToStream(b);

                Assert.IsNotNull(stream);
                Assert.AreEqual(0, stream.Position);
                Assert.IsTrue(stream.CanRead);

                XmlDocument xdoc = ValidateBySchema(data);

                //check parsed seg count
                int?segCount = xdoc.SelectNodes("//EdiSegment")?.Count;
                Assert.AreEqual(33, segCount);
            }
        }