public void MakeTransition(CMMNTransitions transition, DateTime executionDateTime) { UpdateTransition(transition, executionDateTime); TransitionHistories.Add(new CasePlanElementInstanceTransitionHistory { ExecutionDateTime = executionDateTime, Transition = transition }); }
public void MakeTransition(CMMNTransitions transition, string message, DateTime executionDateTime) { switch (Type) { case CasePlanElementInstanceTypes.MILESTONE: case CasePlanElementInstanceTypes.TIMER: { var newState = GetMilestoneOrEventListenerState(MilestoneState, transition); if (newState != null) { MilestoneState = newState; } } break; case CasePlanElementInstanceTypes.EMPTYTASK: case CasePlanElementInstanceTypes.HUMANTASK: case CasePlanElementInstanceTypes.PROCESSTASK: case CasePlanElementInstanceTypes.STAGE: { if (transition == CMMNTransitions.ParentTerminate) { if (TakeStageState != TaskStageStates.Completed && TakeStageState != TaskStageStates.Terminated) { TakeStageState = TaskStageStates.Terminated; } } else { TakeStageState = GetTaskStageState(TakeStageState, transition); } } break; case CasePlanElementInstanceTypes.FILEITEM: { var newState = GetCaseFileItemState(FileState, transition); if (newState != null) { FileState = newState; } } break; } TransitionHistories.Add(new CaseEltInstanceTransitionHistory { Message = message, ExecutionDateTime = executionDateTime, Transition = transition }); }