コード例 #1
0
        public void BaseAddApproverExecutorOnlyAddApproverModeTest()
        {
            IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

            int originalActCount = process.Activities.Count;

            WfProcessTestCommon.MoveToNextDefaultActivity(process);

            IWfActivity           targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");
            WfAddApproverExecutor executor       = new WfAddApproverExecutor(process.CurrentActivity, targetActivity);

            executor.AddApproverMode = WfAddApproverMode.OnlyAddApprover;

            executor.Assignees.Add((IUser)OguObjectSettings.GetConfig().Objects[OguObject.approver1.ToString()].Object);
            executor.Execute();

            Assert.AreEqual(originalActCount + 1, process.Activities.Count);
            Assert.AreEqual(originalActCount + 1, process.MainStream.Activities.Count);

            WfMainStreamActivityDescriptorCollection processDespMSA = process.Descriptor.GetMainStreamActivities();
            WfMainStreamActivityDescriptorCollection processMSA     = process.GetMainStreamActivities(true);

            processDespMSA.Output("流程描述中的主线活动");
            processMSA.Output("主线流程中的主线活动");
        }
コード例 #2
0
        public void BaseAddApproverExecutorStandardModeWithWithdrawTest()
        {
            IWfProcess process = WfProcessTestCommon.StartupSimpleProcess();

            int originalActCount = process.Activities.Count;

            WfProcessTestCommon.MoveToNextDefaultActivity(process);

            int originalElapsedActCount = process.ElapsedActivities.Count;

            IWfActivity           targetActivity = process.Activities.FindActivityByDescriptorKey("NormalActivity");
            WfAddApproverExecutor executor       = new WfAddApproverExecutor(process.CurrentActivity, targetActivity);

            executor.Assignees.Add((IUser)OguObjectSettings.GetConfig().Objects[OguObject.approver1.ToString()].Object);
            executor.Execute();

            Console.WriteLine("Elapsed activities: {0}", process.ElapsedActivities.Count);

            process = WfRuntime.GetProcessByProcessID(process.ID);
            WfWithdrawExecutor withdrawExecutor = new WfWithdrawExecutor(process.CurrentActivity, process.CurrentActivity);

            withdrawExecutor.Execute();

            Console.WriteLine("Elapsed activities: {0}", process.ElapsedActivities.Count);

            Assert.AreEqual(originalElapsedActCount, process.ElapsedActivities.Count);
            Assert.AreEqual(originalActCount, process.Activities.Count, "撤回后,恢复为加签之前的状态");
            Assert.AreEqual(originalActCount, process.MainStream.Activities.Count, "撤回后,主线流程的活动也没有变化");

            WfMainStreamActivityDescriptorCollection processDespMSA = process.Descriptor.GetMainStreamActivities();
            WfMainStreamActivityDescriptorCollection processMSA     = process.GetMainStreamActivities(true);

            processDespMSA.Output("流程描述中的主线活动");
            processMSA.Output("主线流程中的主线活动");
        }