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(); }
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; }
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); }