Exemple #1
0
        /// <summary>
        /// 获取下一步活动列表树
        /// </summary>
        /// <param name="taskID"></param>
        /// <returns></returns>
        public IList <NodeView> GetNextActivityTree(long taskID, IDictionary <string, string> condition = null)
        {
            var task         = (new TaskManager()).GetTaskView(taskID);
            var processModel = new ProcessModel(task.ProcessGUID);
            var nextSteps    = processModel.GetNextActivityTree(task.ActivityGUID, condition);

            return(nextSteps);
        }
Exemple #2
0
        /// <summary>
        /// 获取当前办理任务的下一步
        /// </summary>
        /// <param name="runner"></param>
        /// <param name="condition"></param>
        /// <param name="session"></param>
        /// <returns></returns>
        internal IList <NodeView> GetNextActivityTree(WfAppRunner runner,
                                                      IDictionary <string, string> condition,
                                                      ISession session)
        {
            var processModel = new ProcessModel(runner.ProcessGUID);
            var taskList     = GetTaskOfMine(runner, session).ToList();

            if (taskList == null || taskList.Count == 0)
            {
                throw new WorkflowException("没有当前你正在办理的任务,流程无法读取下一步节点!");
            }
            else if (taskList.Count > 1)
            {
                throw new WorkflowException(string.Format("当前应用ID的办理任务数目要唯一,不是正确的任务数目!错误数目:{0}", taskList.Count));
            }

            var task      = taskList[0];
            var nextSteps = processModel.GetNextActivityTree(task.ActivityGUID, condition);

            return(nextSteps);
        }