/// <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);
        }
Пример #2
0
        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, "线在配置文件中的属性项。任意添加|减少项就会报错");
        }