Example #1
0
        public static RuleModelBase FromRule(Rule rule)
        {
            if (rule is AlwaysRule)
            {
                return(AlwaysRuleModel.FromRule(rule as AlwaysRule));
            }
            if (rule is IfElseRule)
            {
                return(IfElseRuleModel.FromRule(rule as IfElseRule));
            }
            if (rule is SwitchCaseRule)
            {
                return(SwitchCaseRuleModel.FromRule(rule as SwitchCaseRule));
            }

            throw new NotSupportedException();
        }
Example #2
0
        public static SwitchCaseRuleModel FromRule(SwitchCaseRule rule)
        {
            var model = new SwitchCaseRuleModel
            {
                Parameter = rule.Parameter.Name
            };

            foreach (var caze in rule.Cases)
            {
                model.Cases.Add(new CaseModel
                {
                    Value = caze.Key.ToString(),
                    Rules = caze.Value.Select(r => RuleModelBase.FromRule(r)).ToList()
                });
            }

            foreach (var defaultRule in rule.Default)
            {
                model.Default.Add(RuleModelBase.FromRule(defaultRule));
            }

            return model;
        }
Example #3
0
        public static SwitchCaseRuleModel FromRule(SwitchCaseRule rule)
        {
            var model = new SwitchCaseRuleModel
            {
                Parameter = rule.Parameter.Name
            };

            foreach (var caze in rule.Cases)
            {
                model.Cases.Add(new CaseModel
                {
                    Value = caze.Key.ToString(),
                    Rules = caze.Value.Select(r => RuleModelBase.FromRule(r)).ToList()
                });
            }

            foreach (var defaultRule in rule.Default)
            {
                model.Default.Add(RuleModelBase.FromRule(defaultRule));
            }

            return(model);
        }