private void ExtendWithResponses() { TransitionQuery.CheckArgumentNull("TransitionQuery"); Query responseSelect = GetSelectByParticipantResponses(); if (responseSelect != null) { TransitionQuery.And("ContactId").In(responseSelect); } }
protected IReadOnlyCollection <TransitionQuery> CreateTransitionQueries(State source, Action action, IEnumerable <State> targets) { var queries = new List <TransitionQuery>(); foreach (var s in targets) { var actionName = action.Name; var stateName = source.Name; var targetName = s.Name; var methodName = string.Format("{1}{0}{2}{0}{3}", methodNameDelimiter, stateName, actionName, targetName); var fakeAction = A.Fake <Action>(); A.CallTo(() => fakeAction.Name).Returns(CreateUniqueMethodName(methodName)); var fakeQuery = new TransitionQuery(fakeAction, source, action, s); queries.Add(fakeQuery); } return(queries); }
/// <summary> /// Applies StepCompleted condition to transition update query. /// </summary> protected virtual void ApplyStepCompletedCondition() { switch (StepCompletedCondition) { case StepCompletedCondition.UseCompletedOnly: TransitionQuery.And("StepCompleted").IsEqual(Column.Parameter(true)); break; case StepCompletedCondition.UseIncompletedOnly: TransitionQuery.And("StepCompleted").IsEqual(Column.Parameter(false)); break; case StepCompletedCondition.Any: break; default: TransitionQuery.And("StepCompleted").IsEqual(Column.Parameter(true)); break; } }