/// <summary>Check MultiPropertyRuleMethod and adjust BrokenRules accordingly.</summary> /// <param name="pRule">The MultiPropertyRuleMethod to check.</param> /// <remarks>MultiPropertyRules translate to two or more BrokenRules.</remarks> private void CheckMultiPropertyRuleX(MultiPropertyRuleMethod pRule) { bool passed = pRule.Invoke(mTarget); BrokenRulesX.RemoveGroup(pRule.GroupRuleName); if (passed) { return; } AddBrokenRulesForMultiPropertyRule(pRule); }
/// <summary>Add BrokenRule for each property in the MultiPropertyRuleMethod.</summary> /// <param name="pRule">The broken MultiProperty Rule.</param> private void AddBrokenRulesForMultiPropertyRule(MultiPropertyRuleMethod pRule) { string groupRuleName = pRule.GroupRuleName; string baseRuleName = groupRuleName + "!"; string description = pRule.RuleArgs.Description; foreach (string propertyName in pRule.PropertyNames) { string ruleName = baseRuleName + propertyName; BrokenRule broken = new BrokenRule(ruleName, description, propertyName, groupRuleName); BrokenRulesX.Add(broken); } }
private void CheckRuleX(RuleMethod pRule) { bool passed = pRule.Invoke(mTarget); if (passed) { BrokenRulesX.Remove(pRule.RuleName); } else { BrokenRulesX.Add(pRule); } }