Esempio 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();
            }
            if (!string.IsNullOrEmpty(ResourceType))
            {
                writer.WriteString("resourceType", (string)ResourceType !);
            }


            ((fhirCsR4.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 (!string.IsNullOrEmpty(LifecycleStatus))
            {
                writer.WriteString("lifecycleStatus", (string)LifecycleStatus !);
            }

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

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

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

                foreach (CodeableConcept valCategory in Category)
                {
                    valCategory.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

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

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

            if (!string.IsNullOrEmpty(StartDate))
            {
                writer.WriteString("startDate", (string)StartDate !);
            }

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

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

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

                foreach (GoalTarget valTarget in Target)
                {
                    valTarget.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

            if (!string.IsNullOrEmpty(StatusDate))
            {
                writer.WriteString("statusDate", (string)StatusDate !);
            }

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

            if (!string.IsNullOrEmpty(StatusReason))
            {
                writer.WriteString("statusReason", (string)StatusReason !);
            }

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

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

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

                foreach (Reference valAddresses in Addresses)
                {
                    valAddresses.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

                foreach (Annotation valNote in Note)
                {
                    valNote.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

                foreach (CodeableConcept valOutcomeCode in OutcomeCode)
                {
                    valOutcomeCode.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

                foreach (Reference valOutcomeReference in OutcomeReference)
                {
                    valOutcomeReference.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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