Beispiel #1
0
        private void ExtendWithResponses()
        {
            TransitionQuery.CheckArgumentNull("TransitionQuery");
            Query responseSelect = GetSelectByParticipantResponses();

            if (responseSelect != null)
            {
                TransitionQuery.And("ContactId").In(responseSelect);
            }
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        /// <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;
            }
        }