/// <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 (Subject != null)
            {
                writer.WritePropertyName("subject");
                Subject.SerializeJson(writer, options);
            }

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

                foreach (CodeableConcept valCountry in Country)
                {
                    valCountry.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

                foreach (CodeableConcept valJurisdiction in Jurisdiction)
                {
                    valJurisdiction.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

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

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

            if (!string.IsNullOrEmpty(RestoreDate))
            {
                writer.WriteString("restoreDate", (string)RestoreDate !);
            }

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

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

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

            if (!string.IsNullOrEmpty(DateOfFirstAuthorization))
            {
                writer.WriteString("dateOfFirstAuthorization", (string)DateOfFirstAuthorization !);
            }

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

            if (!string.IsNullOrEmpty(InternationalBirthDate))
            {
                writer.WriteString("internationalBirthDate", (string)InternationalBirthDate !);
            }

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

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

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

                foreach (MedicinalProductAuthorizationJurisdictionalAuthorization valJurisdictionalAuthorization in JurisdictionalAuthorization)
                {
                    valJurisdictionalAuthorization.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

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

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

            if (includeStartObject)
            {
                writer.WriteEndObject();
            }
        }
Пример #2
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as MedicinalProductAuthorization;

            if (dest == null)
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }

            base.CopyTo(dest);
            if (Identifier != null)
            {
                dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
            }
            if (Subject != null)
            {
                dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
            }
            if (Country != null)
            {
                dest.Country = new List <Hl7.Fhir.Model.CodeableConcept>(Country.DeepCopy());
            }
            if (Jurisdiction != null)
            {
                dest.Jurisdiction = new List <Hl7.Fhir.Model.CodeableConcept>(Jurisdiction.DeepCopy());
            }
            if (Status != null)
            {
                dest.Status = (Hl7.Fhir.Model.CodeableConcept)Status.DeepCopy();
            }
            if (StatusDateElement != null)
            {
                dest.StatusDateElement = (Hl7.Fhir.Model.FhirDateTime)StatusDateElement.DeepCopy();
            }
            if (RestoreDateElement != null)
            {
                dest.RestoreDateElement = (Hl7.Fhir.Model.FhirDateTime)RestoreDateElement.DeepCopy();
            }
            if (ValidityPeriod != null)
            {
                dest.ValidityPeriod = (Hl7.Fhir.Model.Period)ValidityPeriod.DeepCopy();
            }
            if (DataExclusivityPeriod != null)
            {
                dest.DataExclusivityPeriod = (Hl7.Fhir.Model.Period)DataExclusivityPeriod.DeepCopy();
            }
            if (DateOfFirstAuthorizationElement != null)
            {
                dest.DateOfFirstAuthorizationElement = (Hl7.Fhir.Model.FhirDateTime)DateOfFirstAuthorizationElement.DeepCopy();
            }
            if (InternationalBirthDateElement != null)
            {
                dest.InternationalBirthDateElement = (Hl7.Fhir.Model.FhirDateTime)InternationalBirthDateElement.DeepCopy();
            }
            if (LegalBasis != null)
            {
                dest.LegalBasis = (Hl7.Fhir.Model.CodeableConcept)LegalBasis.DeepCopy();
            }
            if (JurisdictionalAuthorization != null)
            {
                dest.JurisdictionalAuthorization = new List <Hl7.Fhir.Model.MedicinalProductAuthorization.JurisdictionalAuthorizationComponent>(JurisdictionalAuthorization.DeepCopy());
            }
            if (Holder != null)
            {
                dest.Holder = (Hl7.Fhir.Model.ResourceReference)Holder.DeepCopy();
            }
            if (Regulator != null)
            {
                dest.Regulator = (Hl7.Fhir.Model.ResourceReference)Regulator.DeepCopy();
            }
            if (Procedure != null)
            {
                dest.Procedure = (Hl7.Fhir.Model.MedicinalProductAuthorization.ProcedureComponent)Procedure.DeepCopy();
            }
            return(dest);
        }