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)); }
/// <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))); }
internal JsonView(JsonFilter jsonFilter) { jsonFilter.VerifyNotNull(nameof(jsonFilter)); Filter = jsonFilter; }
/// <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)); }