public TestFlowElement AddConditionalLink(TestActivity sourceActivity, TestFlowConditional flowConditional, TestActivity trueActivity, TestActivity falseActivity) { if (sourceActivity != null) { TestFlowStep flowStep = GetFlowStepContainingActionActivity(sourceActivity); if (flowStep == null) { flowStep = new TestFlowStep(sourceActivity); flowStep.NextElement = flowConditional; AddTestFlowLink(flowStep); SetStartNode(flowStep); } else { flowStep.NextElement = flowConditional; } } AddTestFlowLink(flowConditional); if (trueActivity != null) { //For loops we need to check if the element already exists with the target activity TestFlowStep trueStep = GetFlowStepContainingActionActivity(trueActivity); if (trueStep != null) { flowConditional.TrueAction = trueStep; } else { flowConditional.TrueAction = new TestFlowStep(trueActivity); } AddTestFlowLink(flowConditional.TrueAction); } if (falseActivity != null) { //For loops we need to check if the element already exists with the target activity TestFlowStep falseStep = GetFlowStepContainingActionActivity(falseActivity); if (falseStep != null) { flowConditional.FalseAction = falseStep; } else { flowConditional.FalseAction = new TestFlowStep(falseActivity); } AddTestFlowLink(flowConditional.FalseAction); } if (_startElement == null) { SetStartNode(flowConditional); AddTestFlowLink(flowConditional); } return(flowConditional); }
/// <summary> /// Modify the FlowDecision's True or False path to point to a different node /// </summary> /// <param name="flowConditional">FlowDecision to be updated</param> /// <param name="changeTrueAction">true if TrueAction to be changed, false if FalseAction to be changed</param> /// <param name="newAction">new activity to be executed on the specified FlowDecision's path</param> /// <param name="removeOldNode">wehther we want to remove the old node from Flowchart</param> public void ChangeFlowDecisionAction(TestFlowConditional flowConditional, bool changeTrueAction, TestActivity newAction, bool removeOldNode = true) { // remove old node from Flowchart if (removeOldNode) { if (changeTrueAction) { this.Elements.Remove(flowConditional.TrueAction); } else { this.Elements.Remove(flowConditional.FalseAction); } } // add new node to Flowchart TestFlowStep newNode = null; if (newAction != null) { newNode = this.GetFlowStepContainingActionActivity(newAction); if (newNode == null) { newNode = new TestFlowStep(newAction); } this.AddTestFlowLink(newNode); } // set new Action if (changeTrueAction) { flowConditional.TrueAction = newNode; } else { flowConditional.FalseAction = newNode; } }
/// <summary> /// Modify the FlowDecision's Condition activity and its corresponding hint. /// </summary> public void ChangeFlowDecisionCondition(TestFlowConditional flowDecision, TestActivity newConditionActivity, List <HintTrueFalse> newHint) { flowDecision.ConditionValueExpression = newConditionActivity; flowDecision.TrueOrFalse = newHint; }
/// <summary> /// Modify the FlowDecision's Condition and its corresponding hint. /// </summary> public void ChangeFlowDecisionCondition(TestFlowConditional flowDecision, bool newCondition, List <HintTrueFalse> newHint) { flowDecision.Condition = newCondition; flowDecision.TrueOrFalse = newHint; }
public TestFlowElement AddConditionalLink(TestActivity sourceActivity, TestFlowConditional flowConditional) { return(AddConditionalLink(sourceActivity, flowConditional, (TestActivity)null, (TestActivity)null)); }