private static bool EqualRules(List <RuleComponent> rule1, List <RuleComponent> rule2) { if (!MetodosEstaticos.CheckForCollectionsBothNullsOrWithSameCount(rule1, rule2)) { // um null e outro nao null, ou dois nao nulls com counts diferentes return(false); } if (rule1 == null) // dois nulls { return(true); } for (var i = 0; i < rule1.Count; i++) // dois nao nulls com counts iguais { if (!string.IsNullOrEmpty(rule1[i].Content) && !string.IsNullOrEmpty(rule2[i].Content) && !rule1[i].Content.Equals(rule2[i].Content)) { return(false); } } return(true); }
private static bool MatchRule(List <RuleComponent> rule, List <string> listStrings) { if (!MetodosEstaticos.CheckForCollectionsBothNullsOrWithSameCount(rule, listStrings)) { // um null e outro nao null, ou dois nao nulls com counts diferentes return(false); } if (rule == null) // dois nulls { return(true); } for (var i = 0; i < listStrings.Count; i++) // dois nao nulls com counts iguais { if ((rule[i] == null) || string.IsNullOrEmpty(rule[i].Content) || string.IsNullOrEmpty(listStrings[i])) { return(false); } if (!rule[i].MatchString(listStrings[i])) { return(false); } } return(true); }