首页 > 解决方案 > 使用 Ajax API 实现代码效果

问题描述

我可以在不发送 ruleData 的情况下使用 API restful 来 EvaluateRule,我想在 post API 中发送 objectVM 并在规则列表中循环,而不在 API 中传递 ruleData

        [HttpPost]
        public ActionResult EvaluateRule(Patient patient)
        {
          var list=StorageService.GetEvaluationRules();

          foreach (var item in list)
          {
                // I missing (string ruleData) to 
          }
        }

标签: rule-enginebusiness-rulescodeeffects

解决方案


是的你可以。ruleDate 参数是编辑器传递的数据。如果您想评估当前显示在编辑器规则区域中的规则,您可以使用该数据。

但是,如果您已经有了规则,并且只想针对您的源(在本例中为 Patient 实例)逐一评估它们,那么请执行以下操作:

[HttpPost]
public ActionResult EvaluateRule(Patient patient)
{
   var list = YourRuleStorage.GetTheListOfYourRules();
   Type type = patient.GetType();

   foreach(string rule in list)
   {
      new Evaluator(type, rule).Evaluate(patient);
   }
}

推荐阅读