Esempio n. 1
0
        public void CreateWorkItem(WorkItem wi)
        {
            using (SoodaTransaction st = StartTransaction())
            {
                Task tsk = new Task(st);
                if (wi.AssigneeGroupId != null) tsk.AssigneeGroup = Group.GetRef(st, Convert.ToInt32(wi.AssigneeGroupId));
                if (wi.AssigneeId != null) tsk.Assignee = User.GetRef(st, Convert.ToInt32(wi.AssigneeId));
                tsk.CorrelationId = wi.CorrelationId;
                tsk.ProcessInstance = wi.ProcessInstanceId;
                tsk.Title = wi.Title;
                tsk.Description = wi.Description;
                tsk.TaskId = wi.TaskId;
                tsk.Status = TaskStatus.AssignedGroup;
                if (!wi.IsGroupResponsible)
                    tsk.Status = TaskStatus.Assigned;
                tsk.CreatedDate = DateTime.Now;
                if (wi.AssigneeGroupId != null) tsk.AssigneeGroup = (Group) st.GetObject(typeof(Group), wi.AssigneeGroupId);
                if (wi.AssigneeId != null) tsk.Assignee = (User)st.GetObject(typeof(User), wi.AssigneeId);

                st.Commit();
            }
        }
Esempio n. 2
0
        protected override void DoInitiateTask()
        {
            WorkItem wi = new WorkItem();
            wi.ProcessInstanceId = Context.ProcessInstanceId;
            wi.ProcessDefinitionId = Context.TaskDefinition.ParentProcess.DefinitionId;
            wi.CorrelationId = this.CorrelationId;
            wi.TaskId = Context.TaskDefinition.Id;
            wi.Title = Title;
            wi.Description = Description;
            wi.AssigneeGroupId = AssigneeGroup;
            wi.AssigneeId = AssigneeId;
            wi.TaskData = new DataObject(VariablesContainer);
            wi.SharedId = Context.SharedId;

            Context.EnvironmentContext.WorklistService.CreateWorkItem(wi);
            log.Info("Created work item");
        }