public static CasePlanItemInstanceResult ToDto(CaseEltInstance casePlanItemInstance) { string stateStr = null, formId = null; if (casePlanItemInstance.IsTaskOrStage()) { stateStr = casePlanItemInstance.TakeStageState == null ? null : Enum.GetName(typeof(TaskStageStates), casePlanItemInstance.TakeStageState); } if (casePlanItemInstance.IsMilestone()) { stateStr = casePlanItemInstance.MilestoneState == null ? null : Enum.GetName(typeof(MilestoneEventStates), casePlanItemInstance.MilestoneState); } if (casePlanItemInstance.Type == CasePlanElementInstanceTypes.HUMANTASK) { formId = casePlanItemInstance.GetFormId(); } return(new CasePlanItemInstanceResult { Id = casePlanItemInstance.Id, Name = casePlanItemInstance.Name, NbOccurrence = casePlanItemInstance.NbOccurrence, EltId = casePlanItemInstance.EltId, State = stateStr, FormId = formId, Type = Enum.GetName(typeof(CasePlanElementInstanceTypes), casePlanItemInstance.Type).ToUpperInvariant(), TransitionHistories = casePlanItemInstance.TransitionHistories.Select(_ => TransitionHistoryResult.ToDto(_)).ToList() }); }
private bool IsElementCompleted(CaseEltInstance planElementInstance) { if (planElementInstance.IsTaskOrStage() && (planElementInstance.TakeStageState == TaskStageStates.Completed || planElementInstance.TakeStageState == TaskStageStates.Terminated || planElementInstance.TakeStageState == TaskStageStates.Disabled)) { return(true); } if (planElementInstance.IsMilestone() && (planElementInstance.MilestoneState == MilestoneEventStates.Completed || planElementInstance.MilestoneState == MilestoneEventStates.Terminated)) { return(true); } return(false); }