/// <summary> /// Start writing a delta (deleted) link. /// </summary> /// <param name="link">The link to write.</param> private void StartDeltaLink(ODataDeltaLinkBase link) { Debug.Assert(link != null, "link != null"); Debug.Assert(link is ODataDeltaLink || link is ODataDeltaDeletedLink, "link must be either DeltaLink or DeltaDeletedLink."); this.jsonWriter.StartObjectScope(); if (link is ODataDeltaLink) { this.WriteDeltaLinkContextUri(ODataDeltaKind.Link); } else { this.WriteDeltaLinkContextUri(ODataDeltaKind.DeletedLink); } this.WriteDeltaLinkSource(link); this.WriteDeltaLinkRelationship(link); this.WriteDeltaLinkTarget(link); }
/// <summary> /// Writes the target for a delta (deleted) link. /// </summary> /// <param name="link">The link to write target for.</param> private void WriteDeltaLinkTarget(ODataDeltaLinkBase link) { Debug.Assert(link != null, "link != null"); Debug.Assert(link is ODataDeltaLink || link is ODataDeltaDeletedLink, "link must be either DeltaLink or DeltaDeletedLink."); this.jsonWriter.WriteName(JsonLightConstants.ODataTargetPropertyName); this.jsonWriter.WriteValue(UriUtils.UriToString(link.Target)); }
/// <summary> /// Provide additional serialization information to the <see cref="ODataDeltaWriter"/> for <paramref name="deltalink"/>. /// </summary> /// <param name="deltalink">The instance to set the serialization info.</param> /// <param name="serializationInfo">The serialization info to set.</param> public static void SetSerializationInfo(this ODataDeltaLinkBase deltalink, ODataDeltaSerializationInfo serializationInfo) { ExceptionUtils.CheckArgumentNotNull(deltalink, "deltalink"); deltalink.SerializationInfo = serializationInfo; }
/// <summary> /// Writes the relationship for a delta (deleted) link. /// </summary> /// <param name="link">The link to write relationship for.</param> private void WriteDeltaLinkRelationship(ODataDeltaLinkBase link) { Debug.Assert(link != null, "link != null"); Debug.Assert(link is ODataDeltaLink || link is ODataDeltaDeletedLink, "link must be either DeltaLink or DeltaDeletedLink."); this.jsonWriter.WriteName(JsonLightConstants.ODataRelationshipPropertyName); this.jsonWriter.WriteValue(link.Relationship); }
/// <summary> /// Writes the source for a delta (deleted) link. /// </summary> /// <param name="link">The link to write source for.</param> private void WriteDeltaLinkSource(ODataDeltaLinkBase link) { Debug.Assert(link != null, "link != null"); Debug.Assert(link is ODataDeltaLink || link is ODataDeltaDeletedLink, "link must be either DeltaLink or DeltaDeletedLink."); this.jsonLightOutputContext.JsonWriter.WriteName(JsonLightConstants.ODataSourcePropertyName); this.jsonLightOutputContext.JsonWriter.WriteValue(UriUtils.UriToString(link.Source)); }