/// <summary> /// 创建一个用于删除复杂流程,本流程活动为Init、N、N1、N2、N3、C。 /// N有线指向N2。N2有退回线指向N1 /// </summary> /// <returns></returns> private static IWfProcessDescriptor PrepareComplexProcessForDelete() { IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateProcessDescriptor(); IWfActivityDescriptor normalActivity = processDesp.Activities["NormalActivity"]; IWfActivityDescriptor normalActivity1 = processDesp.Activities["NormalActivity1"]; IWfActivityDescriptor normalActivity2 = processDesp.Activities["NormalActivity2"]; //N有线指向N2 normalActivity.ToTransitions.AddForwardTransition(normalActivity2); //N2有退回线指向N1 normalActivity2.ToTransitions.AddBackwardTransition(normalActivity1); return(processDesp); }
public void CreateProcessDescriptorWithBranchProcDesp() { //分支流程描述 IWfProcessDescriptor procDesp = WfProcessTestCommon.CreateSimpleProcessDescriptor(); //主流程描述 IWfProcessDescriptor processDesp = WfProcessTestCommon.CreateProcessDescriptor(); WfBranchProcessTemplateDescriptor data = new WfBranchProcessTemplateDescriptor("branchProcessTemplateDesp"); data.BlockingType = WfBranchProcessBlockingType.WaitAllBranchProcessesComplete; data.ExecuteSequence = WfBranchProcessExecuteSequence.Parallel; data.BranchProcessKey = procDesp.Key; processDesp.Activities[1].BranchProcessTemplates.Add(data); }
public void LoadProcessDesp() { IWfProcessDescriptor procDesp = WfProcessTestCommon.CreateProcessDescriptor(); WfProcessDescriptorManager.SaveDescriptor(procDesp); string key = procDesp.Key;; IWfProcessDescriptor desp = WfProcessDescriptorManager.LoadDescriptor(key); //本机修改过app.config,确实为此。 Assert.AreEqual(8, desp.Properties.Count, "流程在配置文件中的属性项。任意添加|减少项就会报错"); Assert.AreEqual(9, desp.InitialActivity.Properties.Count, "活动在配置文件中的属性项。任意添加|减少项就会报错"); if (desp.InitialActivity.BranchProcessTemplates.Count != 0) { Assert.AreEqual(7, desp.InitialActivity.BranchProcessTemplates[0].Properties.Count, "分支流程在配置文件中的属性项。任意添加|减少项就会报错"); } Assert.AreEqual(6, desp.InitialActivity.ToTransitions[0].Properties.Count, "线在配置文件中的属性项。任意添加|减少项就会报错"); }