protected void AddInputBinding <TRes, TVal, TFlowVal>(Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector, Func <TFlowVal, TVal> mapValue) { var boundInputProperty = GetBoundInputProperty(propertyExpression); var binding = new FlowValueInputBinding(boundInputProperty) { FlowValueSelector = flowValueSelector, MapValue = mapValue == null ? (Func <object, object>)null : v => mapValue((TFlowVal)v) }; Inputs.Add(binding); }
public FlowActivityDefinition <TReq, TRes> BindOutputs <TVal>(Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector, Func <TVal, object> mapValue = null) { var propertyInfo = ReflectionUtils.GetProperty(propertyExpression); var boundOutputProperty = typeof(TRes).GetFlowObjectType()[propertyInfo.Name]; var binding = new FlowValueOutputBinding(boundOutputProperty) { FlowValueSelector = flowValueSelector }; if (mapValue != null) { binding.MapValue = fv => mapValue((TVal)fv); } Outputs.Add(binding); return(this); }
public FlowFinalizer <TRes> BindValues <TVal, TFlowVal>( Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector, Func <TFlowVal, TVal> mapValue) { AddInputBinding(propertyExpression, flowValueSelector, mapValue); return(this); }
public FlowFinalizer <TRes> BindValues <TVal>( Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector) { return(BindValues(propertyExpression, flowValueSelector, (Func <object, TVal>)null)); }
public FlowDecisionDefinition <TReq, TSwitch> BindInputs <TVal, TFlowVal>( Expression <Func <TReq, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector, Func <TFlowVal, TVal> mapValue) { AddInputBinding(propertyExpression, flowValueSelector, mapValue); return(this); }
public FlowDecisionDefinition <TReq, TSwitch> BindInputs <TVal>( Expression <Func <TReq, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector) { return(BindInputs(propertyExpression, flowValueSelector, (Func <object, TVal>)null)); }