public static IEnumerable <IActionableErrorInfo> Validate(RedisDesignerDTO redisDesignerDTO, Action <bool> RedisSourceFocused, Action <bool> KeyFocused) { foreach (var error in GetRuleSet(RuleSets.RedisSource, redisDesignerDTO).ValidateRules("'Redis Source'", () => RedisSourceFocused(true))) { yield return(error); } foreach (var error in GetRuleSet(RuleSets.Key, redisDesignerDTO).ValidateRules("'Key'", () => KeyFocused(true))) { yield return(error); } }
private static IRuleSet GetRuleSet(RuleSets propertyName, RedisDesignerDTO redisDesignerDTO) { var ruleSet = new RuleSet(); switch (propertyName) { case RuleSets.RedisSource: ruleSet.Add(new IsNullRule(() => redisDesignerDTO.RedisSource)); break; case RuleSets.Key: ruleSet.Add(new IsStringEmptyOrWhiteSpaceRule(() => redisDesignerDTO.Key)); break; default: break; } return(ruleSet); }