public Task Serialize(IResourceCollectionDocument document, JsonWriter writer) { writer.WriteStartObject(); if (document.Metadata != null) { writer.WritePropertyName(MetaKeyName); MetadataFormatter.Serialize(document.Metadata, writer); } writer.WritePropertyName(PrimaryDataKeyName); writer.WriteStartArray(); foreach (var resourceObject in document.PrimaryData) { ResourceObjectFormatter.Serialize(resourceObject, writer); } writer.WriteEndArray(); if (document.RelatedData != null && document.RelatedData.Any()) { writer.WritePropertyName(RelatedDataKeyName); writer.WriteStartArray(); foreach (var resourceObject in document.RelatedData) { ResourceObjectFormatter.Serialize(resourceObject, writer); } writer.WriteEndArray(); } writer.WriteEndObject(); writer.Flush(); return(Task.FromResult(0)); }
public Task Serialize(IResourceCollectionDocument document, JsonWriter writer) { writer.WriteStartObject(); writer.WritePropertyName(PrimaryDataKeyName); writer.WriteStartArray(); foreach (var resourceObject in document.PrimaryData) { _resourceObjectFormatter.Serialize(resourceObject, writer); } writer.WriteEndArray(); if (document.RelatedData != null && document.RelatedData.Any()) { writer.WritePropertyName(RelatedDataKeyName); writer.WriteStartArray(); foreach (var resourceObject in document.RelatedData) { _resourceObjectFormatter.Serialize(resourceObject, writer); } writer.WriteEndArray(); } if (document.Metadata != null) { writer.WritePropertyName(MetaKeyName); _metadataFormatter.Serialize(document.Metadata, writer); } writer.WriteEndObject(); writer.Flush(); return Task.FromResult(0); }