public static void SerializeChoice(Hl7.Fhir.Model.Choice value, IFhirWriter writer, bool summary) { writer.WriteStartComplexContent(); // Serialize element _id if (value.LocalIdElement != null) { writer.WritePrimitiveContents("_id", value.LocalIdElement, XmlSerializationHint.Attribute); } // Serialize element extension if (value.Extension != null && !summary && value.Extension.Count > 0) { writer.WriteStartArrayElement("extension"); foreach (var item in value.Extension) { writer.WriteStartArrayMember("extension"); ExtensionSerializer.SerializeExtension(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element code if (value.CodeElement != null) { writer.WriteStartElement("code"); CodeSerializer.SerializeCode(value.CodeElement, writer, summary); writer.WriteEndElement(); } // Serialize element option if (value.Option != null && value.Option.Count > 0) { writer.WriteStartArrayElement("option"); foreach (var item in value.Option) { writer.WriteStartArrayMember("option"); ChoiceSerializer.SerializeChoiceOptionComponent(item, writer, summary); writer.WriteEndArrayMember(); } writer.WriteEndArrayElement(); } // Serialize element isOrdered if (value.IsOrderedElement != null) { writer.WriteStartElement("isOrdered"); FhirBooleanSerializer.SerializeFhirBoolean(value.IsOrderedElement, writer, summary); writer.WriteEndElement(); } writer.WriteEndComplexContent(); }
internal static void SerializeElement(Element value, IFhirWriter writer, bool summary) { if (value.GetType() == typeof(Hl7.Fhir.Model.Address)) { AddressSerializer.SerializeAddress((Hl7.Fhir.Model.Address)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Attachment)) { AttachmentSerializer.SerializeAttachment((Hl7.Fhir.Model.Attachment)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Choice)) { ChoiceSerializer.SerializeChoice((Hl7.Fhir.Model.Choice)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.CodeableConcept)) { CodeableConceptSerializer.SerializeCodeableConcept((Hl7.Fhir.Model.CodeableConcept)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Coding)) { CodingSerializer.SerializeCoding((Hl7.Fhir.Model.Coding)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Contact)) { ContactSerializer.SerializeContact((Hl7.Fhir.Model.Contact)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Extension)) { ExtensionSerializer.SerializeExtension((Hl7.Fhir.Model.Extension)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.HumanName)) { HumanNameSerializer.SerializeHumanName((Hl7.Fhir.Model.HumanName)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Identifier)) { IdentifierSerializer.SerializeIdentifier((Hl7.Fhir.Model.Identifier)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Narrative)) { NarrativeSerializer.SerializeNarrative((Hl7.Fhir.Model.Narrative)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Period)) { PeriodSerializer.SerializePeriod((Hl7.Fhir.Model.Period)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Quantity)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Quantity)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Range)) { RangeSerializer.SerializeRange((Hl7.Fhir.Model.Range)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Ratio)) { RatioSerializer.SerializeRatio((Hl7.Fhir.Model.Ratio)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.ResourceReference)) { ResourceReferenceSerializer.SerializeResourceReference((Hl7.Fhir.Model.ResourceReference)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.SampledData)) { SampledDataSerializer.SerializeSampledData((Hl7.Fhir.Model.SampledData)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Schedule)) { ScheduleSerializer.SerializeSchedule((Hl7.Fhir.Model.Schedule)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Base64Binary)) { Base64BinarySerializer.SerializeBase64Binary((Hl7.Fhir.Model.Base64Binary)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.FhirBoolean)) { FhirBooleanSerializer.SerializeFhirBoolean((Hl7.Fhir.Model.FhirBoolean)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Code)) { CodeSerializer.SerializeCode((Hl7.Fhir.Model.Code)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Date)) { DateSerializer.SerializeDate((Hl7.Fhir.Model.Date)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.FhirDateTime)) { FhirDateTimeSerializer.SerializeFhirDateTime((Hl7.Fhir.Model.FhirDateTime)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.FhirDecimal)) { FhirDecimalSerializer.SerializeFhirDecimal((Hl7.Fhir.Model.FhirDecimal)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Id)) { IdSerializer.SerializeId((Hl7.Fhir.Model.Id)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.IdRef)) { IdRefSerializer.SerializeIdRef((Hl7.Fhir.Model.IdRef)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Instant)) { InstantSerializer.SerializeInstant((Hl7.Fhir.Model.Instant)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Integer)) { IntegerSerializer.SerializeInteger((Hl7.Fhir.Model.Integer)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Oid)) { OidSerializer.SerializeOid((Hl7.Fhir.Model.Oid)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.FhirString)) { FhirStringSerializer.SerializeFhirString((Hl7.Fhir.Model.FhirString)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.FhirUri)) { FhirUriSerializer.SerializeFhirUri((Hl7.Fhir.Model.FhirUri)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Uuid)) { UuidSerializer.SerializeUuid((Hl7.Fhir.Model.Uuid)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.XHtml)) { XHtmlSerializer.SerializeXHtml((Hl7.Fhir.Model.XHtml)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Age)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Age)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Count)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Count)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Distance)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Distance)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Duration)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Duration)value, writer, summary); } else if (value.GetType() == typeof(Hl7.Fhir.Model.Money)) { QuantitySerializer.SerializeQuantity((Hl7.Fhir.Model.Money)value, writer, summary); } else { throw new Exception("Encountered unknown type " + value.GetType().Name); } }