public ResponseResult Run()
        {
            var runner = _appRunner;

            var result = ResponseResult.Default();

            try
            {
                string           amount    = string.Empty;
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)

                //            .Run();
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               //.NextStep(runner.NextActivityPerformers)
                               //.NextStepInt(NextPerformerIntTypeEnum.Single)
                               .IfCondition(runner.Conditions)
                               .Subscribe(EventFireTypeEnum.OnActivityExecuting, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    return(true);
                })
                               .Run();

                result = ResponseResult.Success(wfResult.Message);
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
            }
            return(result);
        }
Exemplo n.º 2
0
        public ResponseResult Run([FromBody] WfAppRunner runner)
        {
            var result = ResponseResult.Default();

            try
            {
                string           amount    = string.Empty;
                IWorkflowService wfService = new WorkflowService();
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .NextStep(runner.NextActivityPerformers)
                               .IfCondition(runner.Conditions)
                               .Subscribe(EventFireTypeEnum.OnActivityExecuting, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    return(true);
                })
                               .Subscribe(EventFireTypeEnum.OnActivityExecuted, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    return(true);
                })
                               .Subscribe(EventFireTypeEnum.OnProcessCompleted, (delegateContext, delegateService) => {
                    System.Diagnostics.Debug.WriteLine(string.Format("Process Completed...{0}", delegateContext.ProcessInstanceID.ToString()));

                    return(true);
                })
                               .Run();
                result = ResponseResult.Success(wfResult.Message);
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
            }
            return(result);
        }
Exemplo n.º 3
0
        public ResponseResult Start([FromBody] WfAppRunner runner)
        {
            var result = ResponseResult.Default();

            try
            {
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)
                //            .Start();
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .Subscribe(EventFireTypeEnum.OnProcessStarted, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    delegateService.SaveVariable(ProcessVariableTypeEnum.Process, "name", "book");
                    delegateService.SaveVariable(ProcessVariableTypeEnum.Process, "amount", "30");
                    return(true);
                })
                               .Start();

                result = ResponseResult.Success(wfResult.Message);
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
            }
            return(result);
        }
        public ResponseResult Start()
        {
            var runner = _appRunner;

            var result = ResponseResult.Default();

            try
            {
                //流程启动
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)
                //            .Start();
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .Subscribe(EventFireTypeEnum.OnProcessStarted, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    return(true);
                })
                               .Start();

                result = ResponseResult.Success(wfResult.Message);
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
            }
            return(result);
        }
Exemplo n.º 5
0
        public string Start()
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("DS-100", "Leave-Request", "DS-100-LX")
                           .UseProcess("LeaveRequestCode")
                           .Start();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 6
0
        public string Start()
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("BS-100", "Delivery-Books", "BS-100-LX")
                           .UseProcess("BookSellerProcessCode")
                           .Start();

            return(wfResult.Status.ToString());
        }
        public string Start()
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("DS-100", "Book-Order", "DS-100-LX")
                           .UseProcess("process-split-code")
                           .Start();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 8
0
        public string Start()
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("PS-100", "Large-Car-Order", "PS-100-LX")
                           .UseProcess("LargeOrderProcessCode")
                           .Start();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 9
0
        public string Withdraw(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "Jack")
                           .UseApp("PS-100", "Large-Car-Order", "PS-100-LX")
                           .UseProcess("LargeOrderProcessCode")
                           .OnTask(id)       //TaskID
                           .Withdraw();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 10
0
        public string Run()
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("DS-100", "Book-Order", "DS-100-LX")
                           .UseProcess("PriceProcessCode")
                           .NextStepInt("20", "Alice")
                           .Run();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 11
0
        public string Withdraw(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "Jack")
                           .UseApp("BS-100", "Delivery-Books", "BS-100-LX")
                           .UseProcess("BookSellerProcessCode")
                           .OnTask(id)       //TaskID
                           .Withdraw();

            return(wfResult.Status.ToString());
        }
        public string Withdraw(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "Jack")
                           .UseApp("DS-100", "Book-Order", "DS-100-LX")
                           .UseProcess("process-split-code")
                           .OnTask(id)       //TaskID
                           .Withdraw();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 13
0
        public string Withdraw(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "Jack")
                           .UseApp("DS-100", "Leave-Request", "DS-100-LX")
                           .UseProcess("LeaveRequestCode")
                           .OnTask(id)       //TaskID
                           .Withdraw();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 14
0
        public string SendBack(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("20", "Alice")
                           .UseApp("PS-100", "Large-Car-Order", "PS-100-LX")
                           .UseProcess("LargeOrderProcessCode")
                           .PrevStepInt()
                           .OnTask(id)       //TaskID
                           .SendBack();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 15
0
        public string Run(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("PS-100", "Large-Car-Order", "PS-100-LX")
                           .UseProcess("LargeOrderProcessCode")
                           .OnTask(id)
                           .NextStepInt("20", "Alice")
                           .Run();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 16
0
        public string SendBack(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("20", "Alice")
                           .UseApp("BS-100", "Delivery-Books", "BS-100-LX")
                           .UseProcess("BookSellerProcessCode")
                           .PrevStepInt()
                           .OnTask(id)       //TaskID
                           .SendBack();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 17
0
        public string SendBack(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("20", "Alice")
                           .UseApp("DS-100", "Leave-Request", "DS-100-LX")
                           .UseProcess("LeaveRequestCode")
                           .PrevStepInt()
                           .OnTask(id)       //TaskID
                           .SendBack();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 18
0
        public string Run(int id)
        {
            IWorkflowService wfService = new WorkflowService();
            var wfResult = wfService.CreateRunner("10", "jack")
                           .UseApp("DS-100", "Leave-Request", "DS-100-LX")
                           .UseProcess("LeaveRequestCode")
                           .OnTask(id)
                           .IfCondition("days", "3")
                           .NextStepInt("20", "Alice")
                           .Run();

            return(wfResult.Status.ToString());
        }
Exemplo n.º 19
0
        public ResponseResult Start2([FromBody] WfAppRunner runner)
        {
            var            result = ResponseResult.Default();
            IDbConnection  conn   = SessionFactory.CreateConnection();
            IDbTransaction trans  = null;

            try
            {
                trans = conn.BeginTransaction();
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)
                //            .Start(conn, trans);
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .Subscribe(EventFireTypeEnum.OnProcessStarted, (delegateContext, delegateService) => {
                    delegateService.SaveVariable(ProcessVariableTypeEnum.Process, "product", "toy");
                    delegateService.SaveVariable(ProcessVariableTypeEnum.Process, "country", "china");
                    var country = delegateService.GetVariable(ProcessVariableTypeEnum.Process, "country");

                    //var processInstance = delegateService.GetInstance<ProcessInstanceEntity>(processInstanceID);
                    //throw new ApplicationException("errror");
                    return(true);
                })
                               .Start(conn, trans);
                if (wfResult.Status == WfExecutedStatus.Success)
                {
                    result = ResponseResult.Success(wfResult.Message);
                    trans.Commit();
                }
                else
                {
                    result = ResponseResult.Error(wfResult.Message);
                    trans.Rollback();
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
                trans.Rollback();
            }
            finally
            {
                trans.Dispose();
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(result);
        }
Exemplo n.º 20
0
        public ResponseResult Run([FromBody] WfAppRunner runner)
        {
            var result = ResponseResult.Default();

            try
            {
                string           amount    = string.Empty;
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)
                //            .Run();
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .NextStep(runner.NextActivityPerformers)
                               .IfCondition(runner.Conditions)
                               .Subscribe(EventFireTypeEnum.OnActivityExecuting, (delegateContext, delegateService) => {
                    Debug.WriteLine(string.Format("Activity Executing...{0}", delegateContext.ActivityName));
                    if (delegateContext.ActivityCode == "OrderSubmit")
                    {
                        delegateService.SaveVariable(ProcessVariableTypeEnum.Activity, "name", "book-task1");
                        delegateService.SaveVariable(ProcessVariableTypeEnum.Activity, "amount", "50");
                        var country = delegateService.GetVariable(ProcessVariableTypeEnum.Process, "country");
                        delegateService.SaveVariable(ProcessVariableTypeEnum.Process, "date", System.DateTime.Today.ToShortDateString());
                        amount = delegateService.GetVariable(ProcessVariableTypeEnum.Activity, "amount");
                    }
                    return(true);
                })
                               .Subscribe(EventFireTypeEnum.OnActivityExecuted, (delegateContext, delegateService) => {
                    Debug.WriteLine(string.Format("Activity Executed...{0}", delegateContext.ActivityName));
                    if (delegateContext.ActivityCode == "OrderSubmit")
                    {
                        delegateService.SaveVariable(ProcessVariableTypeEnum.Activity, "name", "book-task1-0701");;
                    }
                    return(true);
                })
                               .Subscribe(EventFireTypeEnum.OnProcessCompleted, (delegateContext, delegateService) => {
                    Debug.WriteLine(string.Format("Process Completed...{0}", delegateContext.ProcessInstanceID.ToString()));

                    return(true);
                })
                               .Run();
                result = ResponseResult.Success(wfResult.Message);
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
            }
            return(result);
        }
Exemplo n.º 21
0
        public ResponseResult Start2(WfAppRunner runner)
        {
            var            result = ResponseResult.Default();
            IDbConnection  conn   = SessionFactory.CreateConnection();
            IDbTransaction trans  = null;

            try
            {
                trans = conn.BeginTransaction();
                IWorkflowService wfService = new WorkflowService();
                //var wfResult = wfService.CreateRunner(runner)
                //            .Start(conn, trans);
                var wfResult = wfService.CreateRunner(runner.UserID, runner.UserName)
                               .UseApp(runner.AppInstanceID, runner.AppName, runner.AppInstanceCode)
                               .UseProcess(runner.ProcessGUID, runner.Version)
                               .Subscribe(EventFireTypeEnum.OnProcessStarted, (delegateContext, delegateService) => {
                    var processInstanceID = delegateContext.ProcessInstanceID;
                    return(true);
                })
                               .Start(conn, trans);
                if (wfResult.Status == WfExecutedStatus.Success)
                {
                    result = ResponseResult.Success(wfResult.Message);
                    trans.Commit();
                }
                else
                {
                    result = ResponseResult.Error(wfResult.Message);
                    trans.Rollback();
                }
            }
            catch (System.Exception ex)
            {
                result = ResponseResult.Error(ex.Message);
                trans.Rollback();
            }
            finally
            {
                trans.Dispose();
                if (conn.State == ConnectionState.Open)
                {
                    conn.Close();
                }
            }
            return(result);
        }