public IFunctionInstance Create(FunctionInstanceFactoryContext context) { IBindingSource bindingSource = new BindingSource(_binding, context.Parameters); var invoker = CreateInvoker(context); return(new FunctionInstance(context.Id, context.TriggerDetails, context.ParentId, context.ExecutionReason, bindingSource, invoker, _descriptor)); }
private IFunctionInvoker CreateInvoker(FunctionInstanceFactoryContext context) { if (context.InvokeHandler != null) { return(new InvokeWrapper(_invoker, context.InvokeHandler)); } else { return(_invoker); } }
private static IFunctionInstance CreateFunctionInstance(IFunctionDefinition func, IDictionary <string, object> parameters) { var context = new FunctionInstanceFactoryContext { Id = Guid.NewGuid(), ParentId = null, ExecutionReason = ExecutionReason.HostCall, Parameters = parameters }; return(func.InstanceFactory.Create(context)); }
public IFunctionInstance Create(FunctionInstanceFactoryContext <TTriggerValue> context) { if (context == null) { throw new ArgumentNullException(nameof(context)); } IBindingSource bindingSource = new TriggerBindingSource <TTriggerValue>(_binding, context.TriggerValue); var invoker = CreateInvoker(context); return(new FunctionInstance(Guid.NewGuid(), context.TriggerDetails, context.ParentId, ExecutionReason.AutomaticTrigger, bindingSource, invoker, _descriptor)); }