public void MoveToOneStepWithOpinion()
        {
            WfClientProcessInfo processInfo = OperationHelper.PreapreProcessWithConditionLinesInstance();

            WfClientTransferParams transferParams = new WfClientTransferParams("N2");

            transferParams.Assignees.Add(Consts.Users["CEO"]);

            WfClientRuntimeContext runtimeContext = new WfClientRuntimeContext();

            runtimeContext.Operator = Consts.Users["Requestor"];
            runtimeContext.Opinion  = new WfClientOpinion()
            {
                Content = "我很高兴"
            };

            processInfo = WfClientProcessRuntimeServiceProxy.Instance.MoveTo(processInfo.ID, transferParams, runtimeContext);

            processInfo.Output();

            Assert.AreEqual("N2", processInfo.CurrentActivity.Descriptor.Key);
            Assert.IsTrue(processInfo.CurrentActivity.Assignees.Contains(Consts.Users["CEO"].ID));

            WfClientProcessInfo prevProcessInfo = WfClientProcessRuntimeServiceProxy.Instance.GetProcessInfoByActivityID(processInfo.PreviousActivity.ID, runtimeContext.Operator);

            prevProcessInfo.Output();

            Assert.IsNotNull(prevProcessInfo.CurrentOpinion);

            WfClientOpinionCollection opinions = WfClientProcessRuntimeServiceProxy.Instance.GetOpinionsByResourceID(prevProcessInfo.ResourceID);

            Assert.IsTrue(opinions.Count > 0);
        }
        public void SaveProcessWithOpinionTest()
        {
            WfClientProcessInfo processInfo = OperationHelper.PreapreProcessWithConditionLinesInstance();

            WfClientRuntimeContext runtimeContext = new WfClientRuntimeContext();

            runtimeContext.ApplicationRuntimeParameters["Amount"] = 1000;
            runtimeContext.Operator = Consts.Users["Requestor"];
            runtimeContext.ProcessContext["Context"] = "This is process context";
            runtimeContext.Opinion = new WfClientOpinion()
            {
                Content = "我很高兴"
            };

            runtimeContext.AutoCalculate = true;

            processInfo = WfClientProcessRuntimeServiceProxy.Instance.SaveProcess(processInfo.ID, runtimeContext);
            processInfo.Output();

            Assert.AreEqual("N2", processInfo.NextActivities[0].Activity.DescriptorKey);
            Assert.IsNotNull(processInfo.CurrentOpinion);

            WfClientOpinionCollection opinions = WfClientProcessRuntimeServiceProxy.Instance.GetOpinionsByProcessID(processInfo.ID);

            Assert.IsTrue(opinions.Count > 0);
        }
示例#3
0
        public void StartWorkflowAndMoveToNext()
        {
            WfClientProcessDescriptor processDesp = OperationHelper.PrepareSimpleProcess();

            WfClientProcessStartupParams clientStartupParams = ProcessRuntimeHelper.PrepareClientProcessStartupParams(processDesp.Key);

            clientStartupParams.Opinion = new WfClientOpinion()
            {
                Content = "我启动流程很高兴"
            };

            WfClientProcessInfo processInfo = WfClientProcessRuntimeServiceProxy.Instance.StartWorkflowAndMoveTo(clientStartupParams, null, null);

            processInfo.Output();

            WfClientOpinionCollection opinions = WfClientProcessRuntimeServiceProxy.Instance.GetOpinionsByResourceID(processInfo.ResourceID);

            Assert.IsTrue(opinions.Count > 0);
            Assert.AreNotEqual(processInfo.CurrentActivity.ID, opinions[0].ActivityID);
        }