private void ButtonNext_Click(object sender, RoutedEventArgs e)
        {
            DataValidator dataValidator = this.CreateDataValidator(this.m_ClientOrderDetailClone);

            dataValidator.UpdateValidBindingSources();
            YellowstonePathology.Shared.ValidationResult validationResult = dataValidator.ValidateDataTypes();
            if (validationResult.IsValid == false)
            {
                MessageBox.Show(validationResult.Message);
            }
            else
            {
                validationResult = dataValidator.ValidateDomain();
                if (validationResult.IsValid == false)
                {
                    MessageBox.Show(validationResult.Message);
                }
                else
                {
                    Shared.PageNavigationReturnEventArgs args = new Shared.PageNavigationReturnEventArgs(Shared.PageNavigationDirectionEnum.Next, null);
                    Return(this, args);
                }
            }
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail clientOrderDetailClone)
        {
            DataValidator dataValidator = new DataValidator();

            /*
            BindingExpression collectionDateBindingExpression = this.TextBoxCollectionDate.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult collectionDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail.IsCollectionDateDataTypeValid(this.TextBoxCollectionDate.Text);
            dataValidator.Add(new DataValidatorItem(collectionDateDataTypeValidationResult, collectionDateBindingExpression, clientOrderDetailClone.IsCollectionDateDomainValid));

            BindingExpression clientFixationBindingExpression = this.ListBoxFixationType.GetBindingExpression(ListBox.SelectedValueProperty);
            string valueToValidate = string.Empty;
            if (this.ListBoxFixationType.SelectedItem != null)
            {
                valueToValidate = this.ListBoxFixationType.SelectedItem.ToString();
            }
            YellowstonePathology.Shared.ValidationResult clientFixationDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail.IsClientFixationDataTypeValid(valueToValidate);
            dataValidator.Add(new DataValidatorItem(clientFixationDataTypeValidationResult, clientFixationBindingExpression, clientOrderDetailClone.IsClientFixationDomainValid));

            BindingExpression fixationStartTimeBindingExpression = this.TextBoxFixationStartTime.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult fixationStartTimeDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail.IsFixationStartTimeDataTypeValid(this.TextBoxFixationStartTime.Text);
            dataValidator.Add(new DataValidatorItem(fixationStartTimeDataTypeValidationResult, fixationStartTimeBindingExpression, clientOrderDetailClone.IsFixationStartTimeDomainValid));
            */

            return dataValidator;
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder clientOrderClone)
        {
            DataValidator dataValidator = new DataValidator();

            BindingExpression lMPBindingExpression = this.TextBoxLMP.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult lMPBindingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsLMPBindingDataTypeValid(this.TextBoxLMP.Text);
            dataValidator.Add(new DataValidatorItem(lMPBindingDataTypeValidationResult, lMPBindingExpression, clientOrderClone.IsLMPDomainValid));

            BindingExpression hysterectomyBindingExpression = this.CheckBoxHysterectomy.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult hysterectomyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsHysterectomyDataTypeValid(this.CheckBoxHysterectomy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(hysterectomyDataTypeValidationResult, hysterectomyBindingExpression, clientOrderClone.IsHysterectomyDomainValid));

            BindingExpression cervixPresentBindingExpression = this.CheckBoxCervixPresent.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult cervixPresentDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsCervixPresentDataTypeValid(this.CheckBoxCervixPresent.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(cervixPresentDataTypeValidationResult, cervixPresentBindingExpression, clientOrderClone.IsCervixPresentDomainValid));

            BindingExpression abnormalBleedingBindingExpression = this.CheckBoxAbnormalBleeding.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult abnormalBleedingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsAbnormalBleedingDataTypeValid(this.CheckBoxAbnormalBleeding.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(abnormalBleedingDataTypeValidationResult, abnormalBleedingBindingExpression, clientOrderClone.IsAbnormalBleedingDomainValid));

            BindingExpression birthControlBindingExpression = this.CheckBoxBirthControl.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult birthControlDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsBirthControlDataTypeValid(this.CheckBoxBirthControl.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(birthControlDataTypeValidationResult, birthControlBindingExpression, clientOrderClone.IsBirthControlDomainValid));

            BindingExpression hormoneTherapyBindingExpression = this.CheckBoxHormoneTherapy.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult hormoneTherapyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsHormoneTherapyDataTypeValid(this.CheckBoxHormoneTherapy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(hormoneTherapyDataTypeValidationResult, hormoneTherapyBindingExpression, clientOrderClone.IsHormoneTherapyDomainValid));

            BindingExpression previousNormalPapBindingExpression = this.CheckBoxPreviousNormalPap.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult previousNormalPapDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousNormalPapDataTypeValid(this.CheckBoxPreviousNormalPap.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousNormalPapDataTypeValidationResult, previousNormalPapBindingExpression, clientOrderClone.IsPreviousNormalPapDomainValid));

            BindingExpression previousNormalPapDateBindingExpression = this.TextBoxPreviousNormalPapDate.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult previousNormalPapDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousNormalPapDateDataTypeValid(this.TextBoxPreviousNormalPapDate.Text);
            dataValidator.Add(new DataValidatorItem(previousNormalPapDateDataTypeValidationResult, previousNormalPapDateBindingExpression, clientOrderClone.IsPreviousNormalPapDateDomainValid));

            BindingExpression previousAbnormalPapBindingExpression = this.CheckBoxPreviousAbnormalPap.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult previousAbnormalPapDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousAbnormalPapDataTypeValid(this.CheckBoxPreviousAbnormalPap.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousAbnormalPapDataTypeValidationResult, previousAbnormalPapBindingExpression, clientOrderClone.IsPreviousAbnormalPapDomainValid));

            BindingExpression previousAbnormalPapDateBindingExpression = this.TextBoxPreviousAbnormalPapDate.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult previousAbnormalPapDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousAbnormalPapDateDataTypeValid(this.TextBoxPreviousAbnormalPapDate.Text);
            dataValidator.Add(new DataValidatorItem(previousAbnormalPapDateDataTypeValidationResult, previousAbnormalPapDateBindingExpression, clientOrderClone.IsPreviousAbnormalPapDateDomainValid));

            BindingExpression previousBiopsyBindingExpression = this.CheckBoxPreviousBiopsy.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult previousBiopsyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousBiopsyDataTypeValid(this.CheckBoxPreviousBiopsy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousBiopsyDataTypeValidationResult, previousBiopsyBindingExpression, clientOrderClone.IsPreviousBiopsyDomainValid));

            BindingExpression previousBiopsyDateBindingExpression = this.TextBoxPreviousBiopsyDate.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult previousBiopsyDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousBiopsyDateDataTypeValid(this.TextBoxPreviousBiopsyDate.Text);
            dataValidator.Add(new DataValidatorItem(previousBiopsyDateDataTypeValidationResult, previousBiopsyDateBindingExpression, clientOrderClone.IsPreviousBiopsyDateDomainValid));

            BindingExpression prenatalBindingExpression = this.CheckBoxPrenatal.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult prenatalDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPrenatalDataTypeValid(this.CheckBoxPrenatal.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(prenatalDataTypeValidationResult, prenatalBindingExpression, clientOrderClone.IsPrenatalDomainValid));

            BindingExpression postpartumBindingExpression = this.CheckBoxPostpartum.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult postpartumDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPostpartumDataTypeValid(this.CheckBoxPostpartum.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(postpartumDataTypeValidationResult, postpartumBindingExpression, clientOrderClone.IsPostpartumDomainValid));

            BindingExpression postmenopausalBindingExpression = this.CheckBoxPostmenopausal.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult postmenopausalDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPostmenopausalDataTypeValid(this.CheckBoxPostmenopausal.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(postmenopausalDataTypeValidationResult, postmenopausalBindingExpression, clientOrderClone.IsPostmenopausalDomainValid));

            return dataValidator;
        }
 private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.SurgicalClientOrderDetail surgicalClientOrderDetailClone)
 {
     DataValidator dataValidator = new DataValidator();
     BindingExpression callbackNumberBindingExpression = this.TextBoxCallbackNumber.GetBindingExpression(TextBox.TextProperty);
     Shared.ValidationResult callbackNumberDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.SurgicalClientOrderDetail.IsCallbackNumberDataTypeValid(this.TextBoxCallbackNumber.Text);
     dataValidator.Add(new DataValidatorItem(callbackNumberDataTypeValidationResult, callbackNumberBindingExpression, surgicalClientOrderDetailClone.IsCallbackNumberDomainValid));
     return dataValidator;
 }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail clientOrderDetailClone)
        {
            DataValidator dataValidator = new DataValidator();

            string valueToValidate = string.Empty;
            if (this.ListBoxSpecimenSource.SelectedItem != null)
            {
                valueToValidate = this.ListBoxSpecimenSource.SelectedItem.ToString();
            }

            BindingExpression specimenSourceBindingExpression = this.ListBoxSpecimenSource.GetBindingExpression(ListBox.SelectedValueProperty);
            YellowstonePathology.Shared.ValidationResult specimenSourceDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail.IsSpecimenSourceDataTypeValid(valueToValidate);
            dataValidator.Add(new DataValidatorItem(specimenSourceDataTypeValidationResult, specimenSourceBindingExpression, clientOrderDetailClone.IsSpecimenSourceDomainValid));

            return dataValidator;
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder clientOrderClone)
        {
            DataValidator dataValidator = new DataValidator();

            BindingExpression screeningTypeBindingExpression = this.ListBoxScreeningType.GetBindingExpression(ListBox.SelectedValueProperty);
            string valueToValidate = null;
            if (this.ListBoxScreeningType.SelectedItem != null)
            {
                valueToValidate = this.ListBoxScreeningType.SelectedItem.ToString();
            }
            YellowstonePathology.Shared.ValidationResult screeningTypeDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsScreeningTypeDataTypeValid(valueToValidate);
            dataValidator.Add(new DataValidatorItem(screeningTypeDataTypeValidationResult, screeningTypeBindingExpression, clientOrderClone.IsScreeningTypeDomainValid));

            return dataValidator;
        }
        public void UpdateBindingSources()
        {
            DataValidator dataValidator = this.CreateDataValidator(this.m_ClientOrderDetailClone);

            dataValidator.UpdateValidBindingSources();
        }
 private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail clientOrderDetailClone)
 {
     DataValidator dataValidator = new DataValidator();
     return dataValidator;
 }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder cytologyClientOrderClone)
        {
            DataValidator dataValidator = new DataValidator();

            BindingExpression icd9CodeBindingExpression = this.TextBoxIcd9Code.GetBindingExpression(TextBox.TextProperty);
            YellowstonePathology.Shared.ValidationResult icd9CodeDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsIcd9CodeDataTypeValid(this.TextBoxIcd9Code.Text);
            dataValidator.Add(new DataValidatorItem(icd9CodeDataTypeValidationResult, icd9CodeBindingExpression, cytologyClientOrderClone.IsIcd9CodeDomainValid));

            return dataValidator;
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.ClientOrderDetail clientOrderDetailClone)
        {
            DataValidator dataValidator = new DataValidator();

            return(dataValidator);
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder clientOrderClone)
        {
            DataValidator dataValidator = new DataValidator();

            BindingExpression reflexHPVBindingExpression = this.CheckBoxReflexHPV.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult reflexHPVDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsReflexHPVDataTypeValid(this.CheckBoxReflexHPV.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(reflexHPVDataTypeValidationResult, reflexHPVBindingExpression, clientOrderClone.IsReflexHPVDomainValid));

            BindingExpression routineHPVTestingBindingExpression = this.CheckBoxRoutineHPVTesting.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult routineHPVTestingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsRoutineHPVTestingDataTypeValid(this.CheckBoxRoutineHPVTesting.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(routineHPVTestingDataTypeValidationResult, routineHPVTestingBindingExpression, clientOrderClone.IsRoutineHPVTestingDomainValid));

            BindingExpression nGCTTestingBindingExpression = this.CheckBoxNGCTTesting.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult nGCTTestingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsReflexHPVDataTypeValid(this.CheckBoxNGCTTesting.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(nGCTTestingDataTypeValidationResult, nGCTTestingBindingExpression, clientOrderClone.IsNGCTTestingDomainValid));

            BindingExpression trichomonasVaginalisBindingExpression = this.CheckBoxTrichomonasVaginalis.GetBindingExpression(CheckBox.IsCheckedProperty);
            YellowstonePathology.Shared.ValidationResult trichomonasVaginalisDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsTrichomonasVaginalisDataTypeValid(this.CheckBoxNGCTTesting.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(trichomonasVaginalisDataTypeValidationResult, trichomonasVaginalisBindingExpression, clientOrderClone.IsTrichomonasVaginalisDomainValid));

            return dataValidator;
        }
        private DataValidator CreateDataValidator(YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder clientOrderClone)
        {
            DataValidator dataValidator = new DataValidator();

            BindingExpression lMPBindingExpression = this.TextBoxLMP.GetBindingExpression(TextBox.TextProperty);

            YellowstonePathology.Shared.ValidationResult lMPBindingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsLMPBindingDataTypeValid(this.TextBoxLMP.Text);
            dataValidator.Add(new DataValidatorItem(lMPBindingDataTypeValidationResult, lMPBindingExpression, clientOrderClone.IsLMPDomainValid));

            BindingExpression hysterectomyBindingExpression = this.CheckBoxHysterectomy.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult hysterectomyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsHysterectomyDataTypeValid(this.CheckBoxHysterectomy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(hysterectomyDataTypeValidationResult, hysterectomyBindingExpression, clientOrderClone.IsHysterectomyDomainValid));

            BindingExpression cervixPresentBindingExpression = this.CheckBoxCervixPresent.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult cervixPresentDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsCervixPresentDataTypeValid(this.CheckBoxCervixPresent.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(cervixPresentDataTypeValidationResult, cervixPresentBindingExpression, clientOrderClone.IsCervixPresentDomainValid));

            BindingExpression abnormalBleedingBindingExpression = this.CheckBoxAbnormalBleeding.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult abnormalBleedingDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsAbnormalBleedingDataTypeValid(this.CheckBoxAbnormalBleeding.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(abnormalBleedingDataTypeValidationResult, abnormalBleedingBindingExpression, clientOrderClone.IsAbnormalBleedingDomainValid));

            BindingExpression birthControlBindingExpression = this.CheckBoxBirthControl.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult birthControlDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsBirthControlDataTypeValid(this.CheckBoxBirthControl.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(birthControlDataTypeValidationResult, birthControlBindingExpression, clientOrderClone.IsBirthControlDomainValid));

            BindingExpression hormoneTherapyBindingExpression = this.CheckBoxHormoneTherapy.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult hormoneTherapyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsHormoneTherapyDataTypeValid(this.CheckBoxHormoneTherapy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(hormoneTherapyDataTypeValidationResult, hormoneTherapyBindingExpression, clientOrderClone.IsHormoneTherapyDomainValid));

            BindingExpression previousNormalPapBindingExpression = this.CheckBoxPreviousNormalPap.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult previousNormalPapDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousNormalPapDataTypeValid(this.CheckBoxPreviousNormalPap.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousNormalPapDataTypeValidationResult, previousNormalPapBindingExpression, clientOrderClone.IsPreviousNormalPapDomainValid));

            BindingExpression previousNormalPapDateBindingExpression = this.TextBoxPreviousNormalPapDate.GetBindingExpression(TextBox.TextProperty);

            YellowstonePathology.Shared.ValidationResult previousNormalPapDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousNormalPapDateDataTypeValid(this.TextBoxPreviousNormalPapDate.Text);
            dataValidator.Add(new DataValidatorItem(previousNormalPapDateDataTypeValidationResult, previousNormalPapDateBindingExpression, clientOrderClone.IsPreviousNormalPapDateDomainValid));

            BindingExpression previousAbnormalPapBindingExpression = this.CheckBoxPreviousAbnormalPap.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult previousAbnormalPapDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousAbnormalPapDataTypeValid(this.CheckBoxPreviousAbnormalPap.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousAbnormalPapDataTypeValidationResult, previousAbnormalPapBindingExpression, clientOrderClone.IsPreviousAbnormalPapDomainValid));

            BindingExpression previousAbnormalPapDateBindingExpression = this.TextBoxPreviousAbnormalPapDate.GetBindingExpression(TextBox.TextProperty);

            YellowstonePathology.Shared.ValidationResult previousAbnormalPapDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousAbnormalPapDateDataTypeValid(this.TextBoxPreviousAbnormalPapDate.Text);
            dataValidator.Add(new DataValidatorItem(previousAbnormalPapDateDataTypeValidationResult, previousAbnormalPapDateBindingExpression, clientOrderClone.IsPreviousAbnormalPapDateDomainValid));

            BindingExpression previousBiopsyBindingExpression = this.CheckBoxPreviousBiopsy.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult previousBiopsyDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousBiopsyDataTypeValid(this.CheckBoxPreviousBiopsy.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(previousBiopsyDataTypeValidationResult, previousBiopsyBindingExpression, clientOrderClone.IsPreviousBiopsyDomainValid));

            BindingExpression previousBiopsyDateBindingExpression = this.TextBoxPreviousBiopsyDate.GetBindingExpression(TextBox.TextProperty);

            YellowstonePathology.Shared.ValidationResult previousBiopsyDateDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPreviousBiopsyDateDataTypeValid(this.TextBoxPreviousBiopsyDate.Text);
            dataValidator.Add(new DataValidatorItem(previousBiopsyDateDataTypeValidationResult, previousBiopsyDateBindingExpression, clientOrderClone.IsPreviousBiopsyDateDomainValid));

            BindingExpression prenatalBindingExpression = this.CheckBoxPrenatal.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult prenatalDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPrenatalDataTypeValid(this.CheckBoxPrenatal.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(prenatalDataTypeValidationResult, prenatalBindingExpression, clientOrderClone.IsPrenatalDomainValid));

            BindingExpression postpartumBindingExpression = this.CheckBoxPostpartum.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult postpartumDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPostpartumDataTypeValid(this.CheckBoxPostpartum.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(postpartumDataTypeValidationResult, postpartumBindingExpression, clientOrderClone.IsPostpartumDomainValid));

            BindingExpression postmenopausalBindingExpression = this.CheckBoxPostmenopausal.GetBindingExpression(CheckBox.IsCheckedProperty);

            YellowstonePathology.Shared.ValidationResult postmenopausalDataTypeValidationResult = YellowstonePathology.Domain.ClientOrder.Model.CytologyClientOrder.IsPostmenopausalDataTypeValid(this.CheckBoxPostmenopausal.IsChecked.Value);
            dataValidator.Add(new DataValidatorItem(postmenopausalDataTypeValidationResult, postmenopausalBindingExpression, clientOrderClone.IsPostmenopausalDomainValid));

            return(dataValidator);
        }