Exemplo n.º 1
0
        public CompositeTaskInstanceInfo GetTaskInstanceInfo(string instanceId)
        {
            CompositeTaskInstanceInfo ret = null;

            RunProcessTransaction(this.DefaultPersistenceMode, ps =>
            {
                CompositeTaskInstance cti    = (CompositeTaskInstance)ps.PersisterSession.GetForRead(instanceId);
                CompositeTaskInstanceInfo rt = new CompositeTaskInstanceInfo();
                rt.InstanceId          = cti.InstanceId;
                rt.TaskId              = cti.TaskId;
                rt.ProcessDefinitionId = cti.ProcessDefinitionId;
                rt.ProcessInstanceId   = cti.ProcessInstanceId;
                rt.Marking             = cti.Marking.Where(x => x.Value > 0).Select(x => x.Key).ToList();
                rt.ActiveTasks         = cti.ActiveTasks.Select(x => x.TaskId).ToList();
                ret = rt;
            });
            return(ret);
        }
Exemplo n.º 2
0
 static void validateCompleted(CompositeTaskInstanceInfo ti, Dictionary<string, object> data)
 {
     if (ti.Status != NGinnBPM.Runtime.TaskStatus.Completed) throw new Exception("Not completed");
     if (ti.ActiveTasks != null && ti.ActiveTasks.Count > 0) throw new Exception("Active tasks");
 }