private IEnumerable <IParameter> GetParameters(SI.Script scriptData, IParameterRepository parameterRepository) { var parametersData = parameterRepository.GetAllParametersForScriptAsync(scriptData.Id).Result; foreach (var parameter in parametersData) { yield return(new SIP.Parameter() { Number = parameter.Number, Name = parameter.Name, Value = parameter.Value, VisibilityValidator = parameter.VisibilityValidator, Context = (SIP.ParameterOptions)parameter.Context }); } }
private object CalculateScript(SI.Script scriptData, FunctionArgs functionArgs, IParameterRepository parameterRepository) { var script = ScriptBuilder.Create( scriptData.Name, scriptData.Description, new string[0]) .Build(); script.Parameters = GetParameters(scriptData, parameterRepository).ToList(); var calculationEngine = new CalculationEngine(script); IDictionary <string, object> parameterValues = GetParametersValues(functionArgs); calculationEngine.Calculate(parameterValues); IncludeParameterValues(script, parameterValues); SetPrefixes(functionArgs, script); return(true); }