Beispiel #1
0
        public override IDeepCopyable CopyTo(IDeepCopyable other)
        {
            var dest = other as List;

            if (dest != null)
            {
                base.CopyTo(dest);
                if (Identifier != null)
                {
                    dest.Identifier = new List <Hl7.Fhir.Model.Identifier>(Identifier.DeepCopy());
                }
                if (Code != null)
                {
                    dest.Code = (Hl7.Fhir.Model.CodeableConcept)Code.DeepCopy();
                }
                if (Subject != null)
                {
                    dest.Subject = (Hl7.Fhir.Model.ResourceReference)Subject.DeepCopy();
                }
                if (Source != null)
                {
                    dest.Source = (Hl7.Fhir.Model.ResourceReference)Source.DeepCopy();
                }
                if (DateElement != null)
                {
                    dest.DateElement = (Hl7.Fhir.Model.FhirDateTime)DateElement.DeepCopy();
                }
                if (OrderedElement != null)
                {
                    dest.OrderedElement = (Hl7.Fhir.Model.FhirBoolean)OrderedElement.DeepCopy();
                }
                if (ModeElement != null)
                {
                    dest.ModeElement = (Code <Hl7.Fhir.Model.List.ListMode>)ModeElement.DeepCopy();
                }
                if (Entry != null)
                {
                    dest.Entry = new List <Hl7.Fhir.Model.List.ListEntryComponent>(Entry.DeepCopy());
                }
                if (EmptyReason != null)
                {
                    dest.EmptyReason = (Hl7.Fhir.Model.CodeableConcept)EmptyReason.DeepCopy();
                }
                return(dest);
            }
            else
            {
                throw new ArgumentException("Can only copy to an object of the same type", "other");
            }
        }
Beispiel #2
0
        public override ErrorList Validate()
        {
            var result = new ErrorList();

            result.AddRange(base.Validate());

            if (Code != null)
            {
                result.AddRange(Code.Validate());
            }
            if (Source != null)
            {
                result.AddRange(Source.Validate());
            }
            if (DateElement != null)
            {
                result.AddRange(DateElement.Validate());
            }
            if (OrderedElement != null)
            {
                result.AddRange(OrderedElement.Validate());
            }
            if (ModeElement != null)
            {
                result.AddRange(ModeElement.Validate());
            }
            if (Entry != null)
            {
                Entry.ForEach(elem => result.AddRange(elem.Validate()));
            }
            if (EmptyReason != null)
            {
                result.AddRange(EmptyReason.Validate());
            }

            return(result);
        }