コード例 #1
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((Fhir.R4.Models.DomainResource) this).SerializeJson(writer, options, false);

            if ((Identifier != null) && (Identifier.Count != 0))
            {
                writer.WritePropertyName("identifier");
                writer.WriteStartArray();

                foreach (Identifier valIdentifier in Identifier)
                {
                    valIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (Type != null)
            {
                writer.WritePropertyName("type");
                Type.SerializeJson(writer, options);
            }

            writer.WriteBoolean("orderable", Orderable);

            if (ReferencedItem != null)
            {
                writer.WritePropertyName("referencedItem");
                ReferencedItem.SerializeJson(writer, options);
            }

            if ((AdditionalIdentifier != null) && (AdditionalIdentifier.Count != 0))
            {
                writer.WritePropertyName("additionalIdentifier");
                writer.WriteStartArray();

                foreach (Identifier valAdditionalIdentifier in AdditionalIdentifier)
                {
                    valAdditionalIdentifier.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((Classification != null) && (Classification.Count != 0))
            {
                writer.WritePropertyName("classification");
                writer.WriteStartArray();

                foreach (CodeableConcept valClassification in Classification)
                {
                    valClassification.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(Status))
            {
                writer.WriteString("status", (string)Status !);
            }

            if (_Status != null)
            {
                writer.WritePropertyName("_status");
                _Status.SerializeJson(writer, options);
            }

            if (ValidityPeriod != null)
            {
                writer.WritePropertyName("validityPeriod");
                ValidityPeriod.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(ValidTo))
            {
                writer.WriteString("validTo", (string)ValidTo !);
            }

            if (_ValidTo != null)
            {
                writer.WritePropertyName("_validTo");
                _ValidTo.SerializeJson(writer, options);
            }

            if (!string.IsNullOrEmpty(LastUpdated))
            {
                writer.WriteString("lastUpdated", (string)LastUpdated !);
            }

            if (_LastUpdated != null)
            {
                writer.WritePropertyName("_lastUpdated");
                _LastUpdated.SerializeJson(writer, options);
            }

            if ((AdditionalCharacteristic != null) && (AdditionalCharacteristic.Count != 0))
            {
                writer.WritePropertyName("additionalCharacteristic");
                writer.WriteStartArray();

                foreach (CodeableConcept valAdditionalCharacteristic in AdditionalCharacteristic)
                {
                    valAdditionalCharacteristic.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((AdditionalClassification != null) && (AdditionalClassification.Count != 0))
            {
                writer.WritePropertyName("additionalClassification");
                writer.WriteStartArray();

                foreach (CodeableConcept valAdditionalClassification in AdditionalClassification)
                {
                    valAdditionalClassification.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if ((RelatedEntry != null) && (RelatedEntry.Count != 0))
            {
                writer.WritePropertyName("relatedEntry");
                writer.WriteStartArray();

                foreach (CatalogEntryRelatedEntry valRelatedEntry in RelatedEntry)
                {
                    valRelatedEntry.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }