예제 #1
0
 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);
     }
 }
예제 #2
0
        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);
        }