示例#1
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as PaymentReconciliation;

            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.FinancialResourceStatusCodes>)StatusElement.DeepCopy();
            }
            if (Period != null)
            {
                dest.Period = (Hl7.Fhir.Model.Period)Period.DeepCopy();
            }
            if (CreatedElement != null)
            {
                dest.CreatedElement = (Hl7.Fhir.Model.FhirDateTime)CreatedElement.DeepCopy();
            }
            if (PaymentIssuer != null)
            {
                dest.PaymentIssuer = (Hl7.Fhir.Model.ResourceReference)PaymentIssuer.DeepCopy();
            }
            if (Request != null)
            {
                dest.Request = (Hl7.Fhir.Model.ResourceReference)Request.DeepCopy();
            }
            if (Requestor != null)
            {
                dest.Requestor = (Hl7.Fhir.Model.ResourceReference)Requestor.DeepCopy();
            }
            if (OutcomeElement != null)
            {
                dest.OutcomeElement = (Code <Hl7.Fhir.Model.ClaimProcessingCodes>)OutcomeElement.DeepCopy();
            }
            if (DispositionElement != null)
            {
                dest.DispositionElement = (Hl7.Fhir.Model.FhirString)DispositionElement.DeepCopy();
            }
            if (PaymentDateElement != null)
            {
                dest.PaymentDateElement = (Hl7.Fhir.Model.Date)PaymentDateElement.DeepCopy();
            }
            if (PaymentAmount != null)
            {
                dest.PaymentAmount = (Hl7.Fhir.Model.Money)PaymentAmount.DeepCopy();
            }
            if (PaymentIdentifier != null)
            {
                dest.PaymentIdentifier = (Hl7.Fhir.Model.Identifier)PaymentIdentifier.DeepCopy();
            }
            if (Detail != null)
            {
                dest.Detail = new List <Hl7.Fhir.Model.PaymentReconciliation.DetailsComponent>(Detail.DeepCopy());
            }
            if (FormCode != null)
            {
                dest.FormCode = (Hl7.Fhir.Model.CodeableConcept)FormCode.DeepCopy();
            }
            if (ProcessNote != null)
            {
                dest.ProcessNote = new List <Hl7.Fhir.Model.PaymentReconciliation.NotesComponent>(ProcessNote.DeepCopy());
            }
            return(dest);
        }
示例#2
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 !);
            }


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

            if (!string.IsNullOrEmpty(Created))
            {
                writer.WriteString("created", (string)Created !);
            }

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

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

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

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

            if (!string.IsNullOrEmpty(Outcome))
            {
                writer.WriteString("outcome", (string)Outcome !);
            }

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

            if (!string.IsNullOrEmpty(Disposition))
            {
                writer.WriteString("disposition", (string)Disposition !);
            }

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

            if (!string.IsNullOrEmpty(PaymentDate))
            {
                writer.WriteString("paymentDate", (string)PaymentDate !);
            }

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

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

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

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

                foreach (PaymentReconciliationDetail valDetail in Detail)
                {
                    valDetail.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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

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

                foreach (PaymentReconciliationProcessNote valProcessNote in ProcessNote)
                {
                    valProcessNote.SerializeJson(writer, options, true);
                }

                writer.WriteEndArray();
            }

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