public override IDeepCopyable CopyTo(IDeepCopyable other) { var dest = other as SupplyDispenseComponent; if (dest != null) { base.CopyTo(dest); if (Identifier != null) { dest.Identifier = (Hl7.Fhir.Model.Identifier)Identifier.DeepCopy(); } if (StatusElement != null) { dest.StatusElement = (Code <Hl7.Fhir.Model.Supply.SupplyDispenseStatus>)StatusElement.DeepCopy(); } if (Type != null) { dest.Type = (Hl7.Fhir.Model.CodeableConcept)Type.DeepCopy(); } if (Quantity != null) { dest.Quantity = (Hl7.Fhir.Model.Quantity)Quantity.DeepCopy(); } if (SuppliedItem != null) { dest.SuppliedItem = (Hl7.Fhir.Model.ResourceReference)SuppliedItem.DeepCopy(); } if (Supplier != null) { dest.Supplier = (Hl7.Fhir.Model.ResourceReference)Supplier.DeepCopy(); } if (WhenPrepared != null) { dest.WhenPrepared = (Hl7.Fhir.Model.Period)WhenPrepared.DeepCopy(); } if (WhenHandedOver != null) { dest.WhenHandedOver = (Hl7.Fhir.Model.Period)WhenHandedOver.DeepCopy(); } if (Destination != null) { dest.Destination = (Hl7.Fhir.Model.ResourceReference)Destination.DeepCopy(); } if (Receiver != null) { dest.Receiver = new List <Hl7.Fhir.Model.ResourceReference>(Receiver.DeepCopy()); } return(dest); } else { throw new ArgumentException("Can only copy to an object of the same type", "other"); } }
public override ErrorList Validate() { var result = new ErrorList(); result.AddRange(base.Validate()); if (Identifier != null) { result.AddRange(Identifier.Validate()); } if (StatusElement != null) { result.AddRange(StatusElement.Validate()); } if (Type != null) { result.AddRange(Type.Validate()); } if (Quantity != null) { result.AddRange(Quantity.Validate()); } if (Medication != null) { result.AddRange(Medication.Validate()); } if (WhenPrepared != null) { result.AddRange(WhenPrepared.Validate()); } if (WhenHandedOver != null) { result.AddRange(WhenHandedOver.Validate()); } if (Destination != null) { result.AddRange(Destination.Validate()); } if (Receiver != null) { Receiver.ForEach(elem => result.AddRange(elem.Validate())); } if (Dosage != null) { Dosage.ForEach(elem => result.AddRange(elem.Validate())); } return(result); }