예제 #1
0
        static void NewInstanceAndSubmit()
        {
            var workflowEngine = EngineContext.Current;

            //注册一个模拟的Session Provider进行测试
            var sessionProvider = new PhantomUserCredentialsProvider();
            workflowEngine.RegisterUserCredentialsProvider(sessionProvider);

            //注册事件处理方法如流程状态变化邮件通知等
            workflowEngine.OnWorkflowStateChanged += (sender, args) =>
            {
                //TODO:
            };

            //获取会话,通过会话进行流程相关操作
            var session = workflowEngine.NewSession();

            var template = workflowEngine.LoadWorkflowTemplate("WFT123456");

            var instance = session.NewWorkflowInstance(template, "Contract", "123456");

            session.SaveInstance(instance);

            //save
            //instance.Submit("提交申请");
            //session.SaveInstance(instance);

            //instance.Approve("审核通过");
            //session.SaveInstance(instance);
        }
예제 #2
0
        static void Main(string[] args)
        {

            var workflowEngine = EngineContext.Current;

            //注册一个模拟的Session Provider进行测试
            var sessionProvider = new PhantomUserCredentialsProvider();
            workflowEngine.RegisterUserCredentialsProvider(sessionProvider);

            //NewInstanceAndSubmit();

            //ApproveExistInstance();

            ContractAppralFacade.NewContractDraft(new ApprovableForm(FormType.Contract, "1234567"));

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey(true);
        }
예제 #3
0
        static void ApproveExistInstance()
        {
            var workflowEngine = EngineContext.Current;
            //注册一个模拟的Session Provider进行测试
            var sessionProvider = new PhantomUserCredentialsProvider();

            workflowEngine.RegisterUserCredentialsProvider(sessionProvider);

            var session = workflowEngine.NewSession();

            var instance = session.LoadWorkflowInstance("");

            if (instance == null)
                throw new IllegalStateException("流程不存在");

            //查看流程当前的节点
            var activityInstance = instance.Current;
            //查看流程当前节点的模板定义信息
            var activityTemplate = activityInstance.ActivityTemplate;
            //当前允许做什么操作
            var actions = activityTemplate.AllowedActions;
            //如果要查看流程模板
            var workflowTemplate = activityTemplate.WorkflowTemplate;
        }