Exemple #1
0
        private IWfProcessDescriptor CreateComplexDynamicActivityProcess(params IUser[] users)
        {
            IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateSimpleProcessDescriptor();

            IWfActivityDescriptor templateActDesp = processDesp.Activities["NormalActivity"];

            FillDynamicActivitySimpleResource(templateActDesp, users);

            processDesp.InitialActivity.ToTransitions.RemoveByToActivity(templateActDesp);
            templateActDesp.FromTransitions.RemoveByFromActivity(processDesp.InitialActivity);
            templateActDesp.ToTransitions.RemoveByToActivity(processDesp.CompletedActivity);
            processDesp.CompletedActivity.FromTransitions.RemoveByFromActivity(templateActDesp);

            IWfActivityDescriptor a1Activity = WfProcessTestCommon.CreateNormalActivity("A1");

            processDesp.Activities.Add(a1Activity);

            IWfActivityDescriptor a2Activity = WfProcessTestCommon.CreateNormalActivity("A2");

            processDesp.Activities.Add(a2Activity);

            IWfActivityDescriptor b1Activity = WfProcessTestCommon.CreateNormalActivity("B1");

            processDesp.Activities.Add(b1Activity);

            IWfActivityDescriptor b2Activity = WfProcessTestCommon.CreateNormalActivity("B2");

            processDesp.Activities.Add(b2Activity);

            processDesp.InitialActivity.ToTransitions.AddForwardTransition(a1Activity);
            processDesp.InitialActivity.ToTransitions.AddForwardTransition(a2Activity);

            a1Activity.ToTransitions.AddForwardTransition(templateActDesp);
            a2Activity.ToTransitions.AddForwardTransition(templateActDesp);

            templateActDesp.ToTransitions.AddForwardTransition(b1Activity);
            templateActDesp.ToTransitions.AddForwardTransition(b2Activity);

            b1Activity.ToTransitions.AddForwardTransition(processDesp.CompletedActivity);
            b2Activity.ToTransitions.AddForwardTransition(processDesp.CompletedActivity);

            return(processDesp);
        }