예제 #1
0
        public void JsonView_ToJsonString()
        {
            var salesOrderInfo = DataSet <SalesOrderInfo> .ParseJson(Json.SalesOrderInfo_71774);

            var details  = salesOrderInfo.GetChild(x => x.SalesOrderDetails);
            var jsonView = salesOrderInfo.Filter(JsonFilter.NoProjection).FilterChildren(details.Filter(JsonFilter.NoProjection));

            Assert.AreEqual(Json.SalesOrder_71774, jsonView.ToJsonString(true));

            jsonView = salesOrderInfo.Filter(JsonFilter.PrimaryKeyOnly);
            var expectedJson =
                @"[
   {
      ""SalesOrderID"" : 71774
   }
]";

            Assert.AreEqual(expectedJson, jsonView.ToJsonString(true));

            jsonView     = salesOrderInfo.Filter(JsonFilter.Explicit(salesOrderInfo._.SalesOrderID, salesOrderInfo._.RevisionNumber));
            expectedJson =
                @"[
   {
      ""SalesOrderID"" : 71774,
      ""RevisionNumber"" : 2
   }
]";
            Assert.AreEqual(expectedJson, jsonView.ToJsonString(true));
        }
예제 #2
0
 /// <summary>
 /// Filters this DataSet for JSON serialization.
 /// </summary>
 /// <param name="filters">The JSON filters.</param>
 /// <returns>The JSON view.</returns>
 public JsonView <T> Filter(params JsonFilter[] filters)
 {
     return(new JsonView <T>(_, JsonFilter.Join(filters)));
 }
예제 #3
0
 internal JsonView(JsonFilter jsonFilter)
 {
     jsonFilter.VerifyNotNull(nameof(jsonFilter));
     Filter = jsonFilter;
 }
예제 #4
0
 /// <summary>
 /// Filters this DataSet for JSON serialization.
 /// </summary>
 /// <param name="filter">The JSON filter.</param>
 /// <returns>The JSON view.</returns>
 public JsonView <T> Filter(JsonFilter filter)
 {
     filter.VerifyNotNull(nameof(filter));
     return(new JsonView <T>(_, filter));
 }