public override IDeepCopyable CopyTo(IDeepCopyable other)
            {
                var dest = other as SubunitComponent;

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

                base.CopyTo(dest);
                if (SubunitElement != null)
                {
                    dest.SubunitElement = (Hl7.Fhir.Model.Integer)SubunitElement.DeepCopy();
                }
                if (SequenceElement != null)
                {
                    dest.SequenceElement = (Hl7.Fhir.Model.FhirString)SequenceElement.DeepCopy();
                }
                if (LengthElement != null)
                {
                    dest.LengthElement = (Hl7.Fhir.Model.Integer)LengthElement.DeepCopy();
                }
                if (SequenceAttachment != null)
                {
                    dest.SequenceAttachment = (Hl7.Fhir.Model.Attachment)SequenceAttachment.DeepCopy();
                }
                if (NTerminalModificationId != null)
                {
                    dest.NTerminalModificationId = (Hl7.Fhir.Model.Identifier)NTerminalModificationId.DeepCopy();
                }
                if (NTerminalModificationElement != null)
                {
                    dest.NTerminalModificationElement = (Hl7.Fhir.Model.FhirString)NTerminalModificationElement.DeepCopy();
                }
                if (CTerminalModificationId != null)
                {
                    dest.CTerminalModificationId = (Hl7.Fhir.Model.Identifier)CTerminalModificationId.DeepCopy();
                }
                if (CTerminalModificationElement != null)
                {
                    dest.CTerminalModificationElement = (Hl7.Fhir.Model.FhirString)CTerminalModificationElement.DeepCopy();
                }
                return(dest);
            }
Exemplo n.º 2
0
        /// <summary>
        /// Serialize to a JSON object
        /// </summary>
        public new void SerializeJson(Utf8JsonWriter writer, JsonSerializerOptions options, bool includeStartObject = true)
        {
            if (includeStartObject)
            {
                writer.WriteStartObject();
            }

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

            if (Subunit != null)
            {
                writer.WriteNumber("subunit", (int)Subunit !);
            }

            if (!string.IsNullOrEmpty(Sequence))
            {
                writer.WriteString("sequence", (string)Sequence !);
            }

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

            if (Length != null)
            {
                writer.WriteNumber("length", (int)Length !);
            }

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

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

            if (!string.IsNullOrEmpty(NTerminalModification))
            {
                writer.WriteString("nTerminalModification", (string)NTerminalModification !);
            }

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

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

            if (!string.IsNullOrEmpty(CTerminalModification))
            {
                writer.WriteString("cTerminalModification", (string)CTerminalModification !);
            }

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

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