Beispiel #1
0
        public void Run(ExecFunc exec)
        {
            foreach (var func in Functions)
            {
                List <Param> refParams = new List <Param>();
                foreach (var refParam in func.ParamRefs)
                {
                    var paramVal = ScriptContext.GetRaw(refParam.Key);

                    refParams.Add(new Param
                    {
                        Name  = refParam.Target,
                        Value = paramVal
                    });
                }
                func.Context.AddParams(refParams.ToArray());

                exec(func.Name, func.Context);

                if (func.OutputKey == "$out")
                {
                    OutputContext.AddParams(func.Context.GetResults());
                }
                if (func.OutputKey != null)
                {
                    ScriptContext.AddParams(func.Context.GetResults(func.OutputKey + "."));
                }
            }
        }