protected internal virtual IList <IHistoricIdentityLink> GetLinksForTask(ICommandContext commandContext)
        {
            IHistoricTaskInstanceEntity task = commandContext.HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));

            if (task == null)
            {
                throw new ActivitiObjectNotFoundException("No historic task exists with the given id: " + taskId, typeof(IHistoricTaskInstance));
            }

            IList <IHistoricIdentityLink> identityLinks = (IList <IHistoricIdentityLink>)commandContext.HistoricIdentityLinkEntityManager.FindHistoricIdentityLinksByTaskId(taskId);

            // Similar to GetIdentityLinksForTask, return assignee and owner as
            // identity link
            if (task.Assignee is object)
            {
                IHistoricIdentityLinkEntity identityLink = commandContext.HistoricIdentityLinkEntityManager.Create();
                identityLink.UserId = task.Assignee;
                identityLink.TaskId = task.Id;
                identityLink.Type   = IdentityLinkType.ASSIGNEE;
                identityLinks.Add(identityLink);
            }
            if (task.Owner is object)
            {
                IHistoricIdentityLinkEntity identityLink = commandContext.HistoricIdentityLinkEntityManager.Create();
                identityLink.TaskId = task.Id;
                identityLink.UserId = task.Owner;
                identityLink.Type   = IdentityLinkType.OWNER;
                identityLinks.Add(identityLink);
            }

            return(identityLinks);
        }
Exemple #2
0
        // Task related history

        /// <summary>
        ///
        /// </summary>
        /// <param name="task"></param>
        /// <param name="execution"></param>
        public virtual void RecordTaskCreated(ITaskEntity task, IExecutionEntity execution)
        {
            if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
            {
                IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.Create(task, execution);
                HistoricTaskInstanceEntityManager.Insert(historicTaskInstance, false);
            }

            RecordTaskId(task);
        }
Exemple #3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskId"></param>
 /// <param name="processDefinitionId"></param>
 public virtual void RecordTaskProcessDefinitionChange(string taskId, string processDefinitionId)
 {
     if (IsHistoryLevelAtLeast(HistoryLevel.ACTIVITY))
     {
         IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));
         if (historicTaskInstance != null)
         {
             historicTaskInstance.ProcessDefinitionId = processDefinitionId;
         }
     }
 }
Exemple #4
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskId"></param>
 /// <param name="taskDefinitionKey"></param>
 public virtual void RecordTaskDefinitionKeyChange(string taskId, string taskDefinitionKey)
 {
     if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
     {
         IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));
         if (historicTaskInstance != null)
         {
             historicTaskInstance.TaskDefinitionKey = taskDefinitionKey;
         }
     }
 }
Exemple #5
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskId"></param>
 /// <param name="dueDate"></param>
 public virtual void RecordTaskDueDateChange(string taskId, DateTime dueDate)
 {
     if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
     {
         IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));
         if (historicTaskInstance != null)
         {
             historicTaskInstance.DueDate = dueDate;
         }
     }
 }
Exemple #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskId"></param>
 /// <param name="deleteReason"></param>
 public virtual void RecordTaskEnd(string taskId, string deleteReason)
 {
     if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
     {
         IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));
         if (historicTaskInstance != null)
         {
             historicTaskInstance.markEnded(deleteReason);
         }
     }
 }
Exemple #7
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="task"></param>

        public virtual void RecordTaskClaim(ITaskEntity task)
        {
            if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
            {
                IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", task.Id));
                if (historicTaskInstance != null)
                {
                    historicTaskInstance.ClaimTime = task.ClaimTime;
                }
            }
        }
Exemple #8
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="taskId"></param>
 /// <param name="assignee"></param>
 /// <param name="assigneeUser"></param>
 public virtual void RecordTaskAssigneeChange(string taskId, string assignee, string assigneeUser)
 {
     if (IsHistoryLevelAtLeast(HistoryLevel.AUDIT))
     {
         IHistoricTaskInstanceEntity historicTaskInstance = HistoricTaskInstanceEntityManager.FindById <IHistoricTaskInstanceEntity>(new KeyValuePair <string, object>("historicTaskInstanceId", taskId));
         if (historicTaskInstance != null)
         {
             historicTaskInstance.Assignee     = assignee;
             historicTaskInstance.AssigneeUser = assigneeUser;
         }
     }
 }