private IEnumerable <string> ValidateRecursive(CreateConditionNodeBase createConditionNodeBase, Guid tenantId) { List <string> messages = new List <string>(0); switch (createConditionNodeBase) { case CreateComposedConditionNode createComposedConditionNode: foreach (CreateConditionNodeBase child in createComposedConditionNode.ChildNodes) { IEnumerable <string> childMessages = this.ValidateRecursive(child, tenantId); messages.AddRange(childMessages); } break; case CreateValueConditionNode createValueConditionNode: string message = this.ValidateCurrent(createValueConditionNode, tenantId); if (message != null) { messages.Add(message); } break; default: break; } return(messages); }
private IEnumerable <string> ValidateRecursive(CreateConditionNodeBase createConditionNodeBase) { List <string> messages = new List <string>(0); if (createConditionNodeBase is CreateComposedConditionNode createComposedConditionNode) { foreach (CreateConditionNodeBase child in createComposedConditionNode.ChildNodes) { IEnumerable <string> childMessages = this.ValidateRecursive(child); messages.AddRange(childMessages); } string message = this.ValidateCurrent(createComposedConditionNode); if (message != null) { messages.Add(message); } } return(messages); }