/// <summary> /// /// </summary> public Rule Validate(QueryProvider qp) { if (null == DateTimeMathParser.ToDuration(Frequency, TimeUnit.Second)) { AlertValidationException.ThrowBadParseFrequency(); } if (!string.IsNullOrEmpty(For) && !DateTimeMathParser.ToDuration(For, TimeUnit.Second).HasValue) { AlertValidationException.ThrowBadParseFor(); } if (null == Conditions || 0 == Conditions.Length) { AlertValidationException.ThrowNoCondtitions(); } if (!Enum.IsDefined(typeof(NoDataOptions), NoDataOption)) { AlertValidationException.ThrowBadParseNoDataOption(); } if (!Enum.IsDefined(typeof(ErrorOptions), ErrorOption)) { AlertValidationException.ThrowBadParseErrorOption(); } Conditions .ToList() .ForEach(c => c.Validate(qp)); return(this); }
/// <summary> /// /// </summary> public void Validate(QueryProvider qp) { if (null == Query) { AlertValidationException.ThrowBadQuery(); } if (null == Evaluator) { AlertValidationException.ThrowBadEvaluator(); } Query.Validate(qp); Evaluator.Validate(); }