Ejemplo n.º 1
0
        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
                });
            }
        }
Ejemplo n.º 2
0
        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);
        }