public IEnumerable <IBrokenRule> CheckRules(object obj)
 {
     if (ValidationRuleTypeDic.ContainsKey(obj.GetType()))
     {
         BrokenValidationRules broke = new BrokenValidationRules();
         foreach (IValidation clasValidations in ValidationRuleTypeDic[obj.GetType()])
         {
             broke.AddRange(clasValidations.Validate(obj));
         }
         return(broke);
     }
     return(null);
 }
        public IEnumerable <IRule> TypesRules(Type objType)
        {
            List <IRule> lst = new List <IRule>();

            if (ValidationRuleTypeDic.ContainsKey(objType))
            {
                foreach (IValidation itm in ValidationRuleTypeDic[objType])
                {
                    lst.AddRange(itm.ValidationRules());
                }
                return(lst);
            }
            return(lst);
        }