public async Task <IActionResult> ExecuteRuleYaml([FromBody] ExecuteRuleYamlFromUriRequest request) { return(StatusCode(500, new ServerError500Response(new NotImplementedException()))); var controller = new YamlScriptController(); var response = new ExecuteRuleYamlFromUriResponse(); var parameters = request.ClientParameters.Adapt <IParametersCollection>(); controller.QuestionCallback = (FormulaExpressionContext sender, QuestionArgs args) => { }; var downloadResult = request.Endpoint.DownloadYaml(); var result = controller.Parse(downloadResult.Content); // map the parsing result. if (result.IsError) { return(StatusCode(400, response)); } ; var executionResult = new ExecutionResult(ref parameters) as IExecutionResult; controller.ExecuteWorkflow(ref parameters, ref executionResult); return(StatusCode(200, new ExecuteRuleYamlFromUriResponse())); }
public async Task <IActionResult> ExecuteRuleYaml([FromBody] ExecuteRuleYamlFromUriRequest request) { var controller = new YamlScriptController(); var response = new ExecuteRuleYamlFromUriResponse(); var parameters = request.ClientParameters.Adapt <IParametersCollection>(); IExecutionResult executionResult = null; controller.QuestionCallback = (FormulaExpressionContext sender, QuestionArgs args) => { executionResult.Questions = args; }; var downloadResult = request.Endpoint.DownloadYaml(); var result = controller.Parse(downloadResult.Content); if (result.IsError) { return(StatusCode(400, response)); } ; executionResult = new ExecutionResult(ref parameters); try { executionResult = controller.ExecuteWorkflow(ref parameters, ref executionResult); } catch (UnresolvedException) { } if (executionResult.IsError) { response.ExecutionStatus = ExecuteRuleYamlResultTypes.SyntaxError; return(StatusCode(400, response)); } response.ServerParameters = executionResult.Parameters.Adapt <IEnumerable <ServerParameter> >(); return(StatusCode(200, new ExecuteRuleYamlFromUriResponse())); }