public override List <ValidationResult> ValidateObservationType(string json)
        {
            var validationErrors = new List <ValidationResult>();
            var schema           = JsonConvert.DeserializeObject <PercentageObservationTypeSchema>(json);

            var propertiesToObserve = schema.PropertiesToObserve;

            TreatmentBMPAssessmentObservationTypeHelper.ValidatePropertiesToObserve(propertiesToObserve, validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateMeasurementUnitLabel(schema.MeasurementUnitLabel, validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateAssessmentInstructions(schema.AssessmentDescription, validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateBenchmarkAndThresholdDescription(schema.BenchmarkDescription, schema.ThresholdDescription, validationErrors);

            return(validationErrors);
        }
        public override List <ValidationResult> ValidateObservationType(string json)
        {
            var validationErrors = new List <ValidationResult>();
            var schema           = JsonConvert.DeserializeObject <PassFailObservationTypeSchema>(json);

            var propertiesToObserve = schema.PropertiesToObserve;

            TreatmentBMPAssessmentObservationTypeHelper.ValidatePropertiesToObserve(propertiesToObserve, validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateAssessmentInstructions(schema.AssessmentDescription, validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateRequiredStringField(schema.PassingScoreLabel, "Passing Score Label must have a name and cannot be blank", validationErrors);
            TreatmentBMPAssessmentObservationTypeHelper.ValidateRequiredStringField(schema.FailingScoreLabel, "Failing Score Label must have a name and cannot be blank", validationErrors);

            return(validationErrors);
        }