Exemple #1
0
    public bool RunActivity(string currentActivityCode, string nextActivityCode)
    {
        //获取新流程ID
        if (string.IsNullOrEmpty(CurrentRow.WorkflowInstanceId))
        {
            CurrentRow.WorkflowInstanceId = System.Guid.NewGuid().ToString();
        }
        CurrentRow.Update();  //存储记录。

        H3.Workflow.Messages.CancelActivityMessage cancelMessage = new H3.Workflow.Messages.CancelActivityMessage(CurrentRow.WorkflowInstanceId, currentActivityCode, false);
        var r = Engine;
        var m = r.WorkflowInstanceManager;

        Engine.WorkflowInstanceManager.SendMessage(cancelMessage);

        H3.Workflow.Messages.ActivateActivityMessage activiteMessage = new H3.Workflow.Messages.ActivateActivityMessage(CurrentRow.WorkflowInstanceId,
                                                                                                                        nextActivityCode,
                                                                                                                        H3.Workflow.Instance.Token.UnspecifiedId,
                                                                                                                        new string[] { }, null, false,
                                                                                                                        H3.Workflow.WorkItem.ActionEventType.Adjust);
        //参数对应描述:流程实例ID,活动节点编码,令牌ID,参与者,前驱令牌,是否检测入口条件,激活类型
        Engine.WorkflowInstanceManager.SendMessage(activiteMessage);//1.不会取消正在运行的节点。2.进行中的流程才能激活调整。
        return(true);
    }
Exemple #2
0
 internal void SendMessage(H3.Workflow.Messages.CancelActivityMessage cancelActivityMessage)
 {
     throw new NotImplementedException();
 }