internal static void ToResultTreeMessages(RuleResultTree ruleResultTree, ref RuleResultMessage ruleResultMessage) { if (ruleResultTree.ChildResults != null) { GetChildRuleMessages(ruleResultTree.ChildResults, ref ruleResultMessage); } else { if (!ruleResultTree.IsSuccess) { string errMsg = ruleResultTree.Rule.ErrorMessage; errMsg = string.IsNullOrEmpty(errMsg) ? $"Error message is not configured for {ruleResultTree.Rule.RuleName}" : errMsg; if (ruleResultTree.Rule.ErrorType == ErrorType.Error && !ruleResultMessage.ErrorMessages.Contains(errMsg)) { ruleResultMessage.ErrorMessages.Add(errMsg); } else if (ruleResultTree.Rule.ErrorType == ErrorType.Warning && !ruleResultMessage.WarningMessages.Contains(errMsg)) { ruleResultMessage.WarningMessages.Add(errMsg); } } } }
private static void GetChildRuleMessages(IEnumerable <RuleResultTree> childResultTree, ref RuleResultMessage ruleResultMessage) { foreach (var item in childResultTree) { ToResultTreeMessages(item, ref ruleResultMessage); } }