public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as Invoice; 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 (StatusElement != null) { dest.StatusElement = (Code <Hl7.Fhir.Model.Invoice.InvoiceStatus>)StatusElement.DeepCopy(); } if (CancelledReasonElement != null) { dest.CancelledReasonElement = (Hl7.Fhir.Model.FhirString)CancelledReasonElement.DeepCopy(); } if (Type != null) { dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy(); } if (Subject != null) { dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy(); } if (Recipient != null) { dest.Recipient = (Hl7.Fhir.Model.ResourceReference)Recipient.DeepCopy(); } if (DateElement != null) { dest.DateElement = (Hl7.Fhir.Model.FhirDateTime)DateElement.DeepCopy(); } if (Participant != null) { dest.Participant = new List <Hl7.Fhir.Model.Invoice.ParticipantComponent>(Participant.DeepCopy()); } if (Issuer != null) { dest.Issuer = (Hl7.Fhir.Model.ResourceReference)Issuer.DeepCopy(); } if (Account != null) { dest.Account = (Hl7.Fhir.Model.ResourceReference)Account.DeepCopy(); } if (LineItem != null) { dest.LineItem = new List <Hl7.Fhir.Model.Invoice.LineItemComponent>(LineItem.DeepCopy()); } if (TotalPriceComponent != null) { dest.TotalPriceComponent = new List <Hl7.Fhir.Model.Invoice.PriceComponentComponent>(TotalPriceComponent.DeepCopy()); } if (TotalNet != null) { dest.TotalNet = (Hl7.Fhir.Model.Money)TotalNet.DeepCopy(); } if (TotalGross != null) { dest.TotalGross = (Hl7.Fhir.Model.Money)TotalGross.DeepCopy(); } if (PaymentTerms != null) { dest.PaymentTerms = (Hl7.Fhir.Model.Markdown)PaymentTerms.DeepCopy(); } if (Note != null) { dest.Note = new List <Hl7.Fhir.Model.Annotation>(Note.DeepCopy()); } return(dest); }
/// <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 (!string.IsNullOrEmpty(Status)) { writer.WriteString("status", (string)Status !); } if (_Status != null) { writer.WritePropertyName("_status"); _Status.SerializeJson(writer, options); } if (!string.IsNullOrEmpty(CancelledReason)) { writer.WriteString("cancelledReason", (string)CancelledReason !); } if (_CancelledReason != null) { writer.WritePropertyName("_cancelledReason"); _CancelledReason.SerializeJson(writer, options); } if (Type != null) { writer.WritePropertyName("type"); Type.SerializeJson(writer, options); } if (Subject != null) { writer.WritePropertyName("subject"); Subject.SerializeJson(writer, options); } if (Recipient != null) { writer.WritePropertyName("recipient"); Recipient.SerializeJson(writer, options); } if (!string.IsNullOrEmpty(Date)) { writer.WriteString("date", (string)Date !); } if (_Date != null) { writer.WritePropertyName("_date"); _Date.SerializeJson(writer, options); } if ((Participant != null) && (Participant.Count != 0)) { writer.WritePropertyName("participant"); writer.WriteStartArray(); foreach (InvoiceParticipant valParticipant in Participant) { valParticipant.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (Issuer != null) { writer.WritePropertyName("issuer"); Issuer.SerializeJson(writer, options); } if (Account != null) { writer.WritePropertyName("account"); Account.SerializeJson(writer, options); } if ((LineItem != null) && (LineItem.Count != 0)) { writer.WritePropertyName("lineItem"); writer.WriteStartArray(); foreach (InvoiceLineItem valLineItem in LineItem) { valLineItem.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if ((TotalPriceComponent != null) && (TotalPriceComponent.Count != 0)) { writer.WritePropertyName("totalPriceComponent"); writer.WriteStartArray(); foreach (InvoiceLineItemPriceComponent valTotalPriceComponent in TotalPriceComponent) { valTotalPriceComponent.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (TotalNet != null) { writer.WritePropertyName("totalNet"); TotalNet.SerializeJson(writer, options); } if (TotalGross != null) { writer.WritePropertyName("totalGross"); TotalGross.SerializeJson(writer, options); } if (!string.IsNullOrEmpty(PaymentTerms)) { writer.WriteString("paymentTerms", (string)PaymentTerms !); } if (_PaymentTerms != null) { writer.WritePropertyName("_paymentTerms"); _PaymentTerms.SerializeJson(writer, options); } if ((Note != null) && (Note.Count != 0)) { writer.WritePropertyName("note"); writer.WriteStartArray(); foreach (Annotation valNote in Note) { valNote.SerializeJson(writer, options, true); } writer.WriteEndArray(); } if (includeStartObject) { writer.WriteEndObject(); } }