コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }
コード例 #3
0
 public FlowFinalizer <TRes> BindValues <TVal, TFlowVal>(
     Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector,
     Func <TFlowVal, TVal> mapValue)
 {
     AddInputBinding(propertyExpression, flowValueSelector, mapValue);
     return(this);
 }
コード例 #4
0
 public FlowFinalizer <TRes> BindValues <TVal>(
     Expression <Func <TRes, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector)
 {
     return(BindValues(propertyExpression, flowValueSelector, (Func <object, TVal>)null));
 }
コード例 #5
0
 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);
 }
コード例 #6
0
 public FlowDecisionDefinition <TReq, TSwitch> BindInputs <TVal>(
     Expression <Func <TReq, FlowValueDictionary <TVal> > > propertyExpression, FlowValueSelector flowValueSelector)
 {
     return(BindInputs(propertyExpression, flowValueSelector, (Func <object, TVal>)null));
 }