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); }