C# Class Slickflow.Engine.Core.Pattern.NodeMediator

节点执行器的抽象类
显示文件 Open project: uname-yang/WorkFlow-Engine-OData-WebApi-with-OdataClient Class Usage Examples

Private Properties

Property Type Description
ContinueForwardCurrentNode void
CreateActivityTaskTransitionInstance void
CreateMultipleInstance void
CreateNewTask void
ExecuteWorkItem void
GetNodeMediatedMessage string
InsertTransitionInstance void
NodeMediator System
NodeMediator System
NodeMediator System

Protected Methods

Method Description
AntiGenerateActivityPerformerList ( ActivityInstanceEntity activityInstance ) : PerformerList

由节点分配的人员信息生成PerformerList数据结构

ContinueForwardCurrentNodeRecurisivly ( ActivityEntity fromActivity, ActivityInstanceEntity fromActivityInstance, NextActivityComponent root, string>.IDictionary conditionKeyValuePair, System.Boolean isJumpforward ) : void

递归执行节点 1)创建普通节点的任务 2)创建会签节点的任务

CreateActivityInstanceObject ( ActivityEntity activity, ProcessInstanceEntity processInstance, Slickflow.Engine.Common.WfAppRunner runner ) : ActivityInstanceEntity

创建节点对象

CreateBackwardToActivityInstanceObject ( ProcessInstanceEntity processInstance, BackwardTypeEnum backwardType, int backSrcActivityInstanceID, Slickflow.Engine.Common.WfAppRunner runner ) : ActivityInstanceEntity

创建退回类型的活动实例对象

GenerateActivityAssignedUserIDs ( PerformerList performerList ) : string

生成任务办理人ID字符串列表

GenerateActivityAssignedUserNames ( PerformerList performerList ) : string

生成办理人名称的字符串列表

Private Methods

Method Description
ContinueForwardCurrentNode ( bool isJumpforward ) : void

遍历执行当前节点后面的节点

CreateActivityTaskTransitionInstance ( ActivityEntity toActivity, ProcessInstanceEntity processInstance, ActivityInstanceEntity fromActivityInstance, String transitionGUID, TransitionTypeEnum transitionType, TransitionFlyingTypeEnum flyingType, ActivityResource activityResource, IDbSession session ) : void

创建工作项及转移数据

CreateMultipleInstance ( ActivityEntity toActivity, ProcessInstanceEntity processInstance, ActivityInstanceEntity fromActivityInstance, String transitionGUID, TransitionTypeEnum transitionType, TransitionFlyingTypeEnum flyingType, ActivityResource activityResource, IDbSession session ) : void

会签类型的主节点, 多实例节点处理 创建会签节点的主节点,以及会签主节点下的实例子节点记录

CreateNewTask ( ActivityInstanceEntity toActivityInstance, ActivityResource activityResource, IDbSession session ) : void

创建任务的虚方法 1. 对于自动执行的工作项,无需重写该方法 2. 对于人工执行的工作项,需要重写该方法,插入待办的任务数据

ExecuteWorkItem ( ) : void

执行节点方法

GetNodeMediatedMessage ( ) : string

根据节点执行结果类型,生成消息

InsertTransitionInstance ( ProcessInstanceEntity processInstance, String transitionGUID, ActivityInstanceEntity fromActivityInstance, ActivityInstanceEntity toActivityInstance, TransitionTypeEnum transitionType, TransitionFlyingTypeEnum flyingType, Slickflow.Engine.Common.WfAppRunner runner, IDbSession session ) : void

插入连线实例的方法

NodeMediator ( ActivityForwardContext forwardContext, IDbSession session ) : System

向前流转时的NodeMediator的构造函数

NodeMediator ( BackwardContext backwardContext, IDbSession session ) : System

退回处理时的NodeMediator的构造函数

NodeMediator ( IDbSession session ) : System

Method Details

AntiGenerateActivityPerformerList() protected method

由节点分配的人员信息生成PerformerList数据结构
protected AntiGenerateActivityPerformerList ( ActivityInstanceEntity activityInstance ) : PerformerList
activityInstance Slickflow.Engine.Business.Entity.ActivityInstanceEntity
return PerformerList

ContinueForwardCurrentNodeRecurisivly() protected method

递归执行节点 1)创建普通节点的任务 2)创建会签节点的任务
protected ContinueForwardCurrentNodeRecurisivly ( ActivityEntity fromActivity, ActivityInstanceEntity fromActivityInstance, NextActivityComponent root, string>.IDictionary conditionKeyValuePair, System.Boolean isJumpforward ) : void
fromActivity Slickflow.Engine.Xpdl.ActivityEntity
fromActivityInstance Slickflow.Engine.Business.Entity.ActivityInstanceEntity
root Slickflow.Engine.Xpdl.NextActivityComponent
conditionKeyValuePair string>.IDictionary
isJumpforward System.Boolean
return void

CreateActivityInstanceObject() protected method

创建节点对象
protected CreateActivityInstanceObject ( ActivityEntity activity, ProcessInstanceEntity processInstance, Slickflow.Engine.Common.WfAppRunner runner ) : ActivityInstanceEntity
activity Slickflow.Engine.Xpdl.ActivityEntity
processInstance Slickflow.Engine.Business.Entity.ProcessInstanceEntity 流程实例
runner Slickflow.Engine.Common.WfAppRunner
return Slickflow.Engine.Business.Entity.ActivityInstanceEntity

CreateBackwardToActivityInstanceObject() protected method

创建退回类型的活动实例对象
protected CreateBackwardToActivityInstanceObject ( ProcessInstanceEntity processInstance, BackwardTypeEnum backwardType, int backSrcActivityInstanceID, Slickflow.Engine.Common.WfAppRunner runner ) : ActivityInstanceEntity
processInstance Slickflow.Engine.Business.Entity.ProcessInstanceEntity 流程实例
backwardType BackwardTypeEnum
backSrcActivityInstanceID int 退回的活动实例ID
runner Slickflow.Engine.Common.WfAppRunner
return Slickflow.Engine.Business.Entity.ActivityInstanceEntity

GenerateActivityAssignedUserIDs() protected method

生成任务办理人ID字符串列表
protected GenerateActivityAssignedUserIDs ( PerformerList performerList ) : string
performerList PerformerList
return string

GenerateActivityAssignedUserNames() protected method

生成办理人名称的字符串列表
protected GenerateActivityAssignedUserNames ( PerformerList performerList ) : string
performerList PerformerList
return string