private static RuleBase AdaptRule(RuleTreeNodeDto node, RuleTreeNodeDto[] allNodes) { if (node.Data.Kind == RuleGroup.Kind) { return(new RuleGroup(node.Data.Id, GetRules(node, allNodes), GetMatchMode(node.Data.MatchMode))); } return(new Rule(node.Id, CreateCriteriaValue(node.Data.Criteria))); }
private static RuleBase[] GetRules(RuleTreeNodeDto node, RuleTreeNodeDto[] allNodes) { return(node.Children.Select(x => GetNode(x, allNodes)).Select(x => AdaptRule(x, allNodes)).ToArray()); }