Ejemplo n.º 1
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }
            ((fhirCsR4.Models.BackboneElement) this).SerializeJson(writer, options, false);

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

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

                foreach (CodeableConcept valType in Type)
                {
                    valType.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

                foreach (CodeableConcept valCommunicationMethod in CommunicationMethod)
                {
                    valCommunicationMethod.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

            if (!string.IsNullOrEmpty(ValidationDate))
            {
                writer.WriteString("validationDate", (string)ValidationDate !);
            }

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

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

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

                foreach (CodeableConcept valPushTypeAvailable in PushTypeAvailable)
                {
                    valPushTypeAvailable.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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