Example #1
0
        /// <summary>
        /// Validates this Anatomical Location
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages to date, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if (NameOfLocation != null)
            {
                NameOfLocation.Validate(path + ".NameOfLocation", messages);
            }

            if (Side != null)
            {
                Side.Validate(path + ".Side", messages);
            }
        }
        /// <summary>
        /// Validates this HeadCircumference Item
        /// </summary>
        /// <param name="path">The path to this object as a string</param>
        /// <param name="messages">the validation messages to date, these may be added to within this method</param>
        public void Validate(string path, List <ValidationMessage> messages)
        {
            var vb = new ValidationBuilder(path, messages);

            if (vb.ArgumentRequiredCheck("NameOfLocation", NameOfLocation))
            {
                NameOfLocation.Validate(vb.Path + "NameOfLocation", vb.Messages);
            }

            if (vb.ArgumentRequiredCheck("Circumference", Circumference))
            {
                Circumference.Validate(vb.Path + "Circumference", vb.Messages);
            }

            if (CircumferenceReferenceRangeDetails != null)
            {
                for (var x = 0; x < CircumferenceReferenceRangeDetails.Count; x++)
                {
                    CircumferenceReferenceRangeDetails[x].Validate(vb.Path + string.Format("CircumferenceReferenceRangeDetails[{0}]", x), vb.Messages);
                }
            }

            if (ConfoundingFactor != null)
            {
                for (var x = 0; x < ConfoundingFactor.Count; x++)
                {
                    ConfoundingFactor[x].Validate(vb.Path + string.Format("ConfoundingFactor[{0}]", x), vb.Messages);
                }
            }

            vb.ArgumentRequiredCheck("BodyPartCircumferenceDateTime", BodyPartCircumferenceDateTime);

            if (Device != null)
            {
                Device.Validate(vb.Path + "Device", vb.Messages);
            }

            if (InformationProvider != null)
            {
                if (InformationProvider is Device)
                {
                    var device = InformationProvider as Device;
                    device.Validate(vb.Path + "Device", vb.Messages);
                }

                // Both types are of type Participation so use the Participant to determin the type
                if (InformationProvider is Participation)
                {
                    var informationProviderHealthcareProvider = InformationProvider as IParticipationInformationProviderHealthcareProvider;

                    if (informationProviderHealthcareProvider.Participant != null)
                    {
                        informationProviderHealthcareProvider.Validate(vb.Path + "IParticipationInformationProviderHealthcareProvider", vb.Messages);
                    }

                    var informationProviderNonHealthcareProvider = InformationProvider as IParticipationInformationProviderNonHealthcareProvider;

                    if (informationProviderNonHealthcareProvider.Participant != null)
                    {
                        informationProviderNonHealthcareProvider.Validate(vb.Path + "IParticipationInformationProviderNonHealthcareProvider", vb.Messages);
                    }
                }
            }
        }