Beispiel #1
0
        public void Action_ComplexRow()
        {
            var initalRow = new TestComplexRow();

            initalRow.ID = 777;

            initalRow.Row1 = new TestRow()
            {
                ID = 101, Name = "Test Row 1", Date = DateTime.Now
            };
            initalRow.Row2 = new TestRow()
            {
                ID = 102, Name = "Test Row 2", Date = DateTime.Now
            };

            initalRow.ErrorRows = new TestRow[] {
                new TestRow()
                {
                    ID = 201, Name = "Err Row 1", Date = DateTime.Now
                },
                new TestRow()
                {
                    ID = 202, Name = "Err Row 2", Date = DateTime.Now
                },
                new TestRow()
                {
                    ID = 203, Name = "Err Row 3", Date = DateTime.Now
                }
            };

            var str = initalRow.ToJSON(JSONWritingOptions.CompactRowsAsMap);

            Console.WriteLine(str);

            using (var wc = CreateWebClient())
            {
                wc.Headers[HttpRequestHeader.ContentType] = NFX.Web.ContentType.JSON;
                var res = wc.UploadString(INTEGRATION_HTTP_ADDR + "ComplexRowSet", str);

                var map    = JSONReader.DeserializeDataObject(res) as JSONDataMap;
                var gotRow = JSONReader.ToRow <TestComplexRow>(map);

                Assert.AreEqual(initalRow.ID + 1, gotRow.ID);
                Assert.AreEqual(initalRow.Row1.ID + 2, gotRow.Row1.ID);
                Assert.IsTrue(gotRow.ErrorRows[2].Date - initalRow.ErrorRows[2].Date.AddDays(-2) < TimeSpan.FromMilliseconds(1)); // dlat 20140617: date string format preservs 3 signs after decimal second instead of 7 digits preserved by .NET DateTime type
            }
        }
Beispiel #2
0
        public void Action_ComplexRow()
        {
          var initalRow = new TestComplexRow();

          initalRow.ID = 777;

          initalRow.Row1 = new TestRow(){ID = 101, Name = "Test Row 1", Date = DateTime.Now};
          initalRow.Row2 = new TestRow(){ID = 102, Name = "Test Row 2", Date = DateTime.Now};

          initalRow.ErrorRows = new TestRow[] { 
            new TestRow() {ID = 201, Name = "Err Row 1", Date = DateTime.Now},
            new TestRow() {ID = 202, Name = "Err Row 2", Date = DateTime.Now},
            new TestRow() {ID = 203, Name = "Err Row 3", Date = DateTime.Now}
          };

          var str = initalRow.ToJSON(JSONWritingOptions.CompactRowsAsMap);

          using (var wc = CreateWebClient())
          {
            wc.Headers[HttpRequestHeader.ContentType] = NFX.Web.ContentType.JSON;
            var res = wc.UploadString(INTEGRATION_HTTP_ADDR + "ComplexRowSet", str);

            var map = JSONReader.DeserializeDataObject(res) as JSONDataMap;
            var gotRow = JSONReader.ToRow<TestComplexRow>(map);

            Assert.AreEqual(initalRow.ID + 1, gotRow.ID);
            Assert.AreEqual(initalRow.Row1.ID + 2, gotRow.Row1.ID);
            Assert.IsTrue(gotRow.ErrorRows[2].Date - initalRow.ErrorRows[2].Date.AddDays(-2) < TimeSpan.FromMilliseconds(1) ); // dlat 20140617: date string format preservs 3 signs after decimal second instead of 7 digits preserved by .NET DateTime type
          }
        }