Beispiel #1
0
        protected override void ConfigureDefinition(FlowDefinition <DecisionWithEndFlowRequest, DecisionWithEndFlowResponse> flowDefinition)
        {
            var switchValueDecision = FlowValueDecision <string> .NewDefinition()
                                      .BindInput(rq => rq.SwitchValue, nameof(DecisionWithEndFlowRequest.StringValue));

            var setOutputToX = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "X")
                               .BindOutput(rs => rs.Output, nameof(DecisionWithEndFlowResponse.BranchValue));

            var setOutputToY = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "Y")
                               .BindOutput(rs => rs.Output, nameof(DecisionWithEndFlowResponse.BranchValue));

            var setOutputToZ = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "Z")
                               .BindOutput(rs => rs.Output, nameof(DecisionWithEndFlowResponse.BranchValue));

            flowDefinition
            .Do("Set_output_to_X", setOutputToX)

            .Check("Switch_value_1", switchValueDecision)
            .When("A").End()
            .When("B").Goto("Set_output_to_Y")
            .Else().Continue()

            .Do("Set_output_to_Y", setOutputToY)

            .Check("Switch_value_2", switchValueDecision)
            .When("C").Goto("Set_output_to_Z")
            .Else().End()

            .Do("Set_output_to_Z", setOutputToZ)
            ;
        }
Beispiel #2
0
        protected override void ConfigureDefinition(FlowDefinition <MockedDecisionFlowRequest, MockedDecisionFlowResponse> flowDefinition)
        {
            var intValue = FlowValueDecision <int?> .NewDefinition()
                           .BindInput(rq => rq.SwitchValue, nameof(MockedDecisionFlowRequest.IntValue));

            var setOutputToX = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "X")
                               .BindOutput(rs => rs.Output, nameof(MockedDecisionFlowResponse.BranchValue));

            var setOutputToY = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "Y")
                               .BindOutput(rs => rs.Output, nameof(MockedDecisionFlowResponse.BranchValue));

            var setOutputToZ = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "Z")
                               .BindOutput(rs => rs.Output, nameof(MockedDecisionFlowResponse.BranchValue));

            flowDefinition
            .Check("Int_value", intValue)
            .When(1).Goto("Set_output_to_X")
            .When(2).Goto("Set_output_to_Y")
            .Else().Goto("Set_output_to_Z")

            .Do("Set_output_to_X", setOutputToX)
            .End()

            .Do("Set_output_to_Y", setOutputToY)
            .End()

            .Do("Set_output_to_Z", setOutputToZ)
            .End();
        }
Beispiel #3
0
        protected override void ConfigureDefinition(FlowDefinition <MatchDecisionFlowRequest, MatchDecisionFlowResponse> flowDefinition)
        {
            #region Definitions

            var intValueDecision = FlowValueDecision <int?> .NewDefinition()
                                   .BindInput(rq => rq.SwitchValue, nameof(MatchDecisionFlowRequest.IntValue));

            var stringValueDecision = FlowValueDecision <string> .NewDefinition()
                                      .BindInput(rq => rq.SwitchValue, nameof(MatchDecisionFlowRequest.StringValue));

            var setOutputToX = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "X")
                               .BindOutput(rs => rs.Output, nameof(MatchDecisionFlowResponse.BranchValue));

            var setOutputToY = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                               .SetValue(rq => rq.OutputValue, "Y")
                               .BindOutput(rs => rs.Output, nameof(MatchDecisionFlowResponse.BranchValue));

            var setOutputToZa = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                                .SetValue(rq => rq.OutputValue, "ZA")
                                .BindOutput(rs => rs.Output, nameof(MatchDecisionFlowResponse.BranchValue));

            var setOutputToZz = new FlowActivityDefinition <SetStringFlowValueRequest, SetStringFlowValueResponse>()
                                .SetValue(rq => rq.OutputValue, "ZZ")
                                .BindOutput(rs => rs.Output, nameof(MatchDecisionFlowResponse.BranchValue));

            #endregion

            flowDefinition
            .Check("Int_value", intValueDecision)
            .When(1).Goto("Set_output_to_X")
            .When(2, 3).Goto("Set_output_to_Y")
            .Else().Goto("String_value")

            .Do("Set_output_to_X", setOutputToX)
            .End()

            .Do("Set_output_to_Y", setOutputToY)
            .End()

            .Check("String_value", stringValueDecision)
            .When("A").Goto("Set_output_to_ZA")
            .Else().Continue()

            .Do("Set_output_to_ZZ", setOutputToZz)
            .End()

            .Do("Set_output_to_ZA", setOutputToZa);
        }
        protected override void ConfigureDefinition(FlowDefinition <DecisionBindingAttributesFlowRequest, DecisionBindingAttributesFlowResponse> flowDefinition)
        {
            var isDecisionValueTrue = new FlowDecisionDefinition <BindingAttributesDecision, bool>()
                                      .SetValue(r => r.DecisionInput1Name, nameof(DecisionBindingAttributesFlowRequest.FlowInput1))
                                      .SetValue(r => r.NamedDecisionInputName, nameof(DecisionBindingAttributesFlowRequest.FlowInput2));

            var setFlowOutputToFalse = new FlowActivityDefinition <SetBoolFlowValueRequest, SetBoolFlowValueResponse>()
                                       .SetValue(r => r.OutputValue, false)
                                       .BindOutput(r => r.Output, nameof(DecisionBindingAttributesFlowResponse.FlowOutput));

            var setFlowOutputToTrue = new FlowActivityDefinition <SetBoolFlowValueRequest, SetBoolFlowValueResponse>()
                                      .SetValue(r => r.OutputValue, true)
                                      .BindOutput(r => r.Output, nameof(DecisionBindingAttributesFlowResponse.FlowOutput));

            flowDefinition
            .Check("Is_decision_value_true", isDecisionValueTrue)
            .When(true).Goto("Set_flow_output_to_true")
            .Else().Continue()

            .Do("Set_flow_output_to_false", setFlowOutputToFalse)
            .End()

            .Do("Set_flow_output_to_true", setFlowOutputToTrue);
        }