예제 #1
0
        protected internal override void UpdateSuspensionState(CommandContext commandContext,
                                                               ISuspensionState suspensionState)
        {
            IExecutionManager    executionManager    = commandContext.ExecutionManager;
            ITaskManager         taskManager         = commandContext.TaskManager;
            IExternalTaskManager externalTaskManager = commandContext.ExternalTaskManager;

            if (!string.IsNullOrEmpty(ProcessInstanceId))
            {
                executionManager.UpdateExecutionSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState);
                taskManager.UpdateTaskSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState);
                externalTaskManager.UpdateExternalTaskSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState);
            }
            else if (!string.IsNullOrEmpty(ProcessDefinitionId))
            {
                executionManager.UpdateExecutionSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState);
                taskManager.UpdateTaskSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState);
                externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState);
            }
            else if (IsProcessDefinitionTenantIdSet)
            {
                executionManager.UpdateExecutionSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState);
                taskManager.UpdateTaskSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState);
                externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState);
            }
            else
            {
                executionManager.UpdateExecutionSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState);
                taskManager.UpdateTaskSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState);
                externalTaskManager.UpdateExternalTaskSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState);
            }
        }
예제 #2
0
        public virtual void UpdateExternalTaskSuspensionStateByProcessDefinitionKeyAndTenantId(
            string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionKey"] = processDefinitionKey;
            //parameters["isProcessDefinitionTenantIdSet"] = true;
            //parameters["processDefinitionTenantId"] = processDefinitionTenantId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(ExternalTaskEity), "updateExternalTaskSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));

            var predicateProc = ParameterBuilder.True <ProcessDefinitionEntity>();
            var predicateTask = ParameterBuilder.True <ExternalTaskEntity>();

            if (!string.IsNullOrEmpty(processDefinitionKey))
            {
                predicateProc = predicateProc.AndParam(c => c.Key == processDefinitionKey);
                if (!string.IsNullOrEmpty(processDefinitionTenantId))
                {
                    predicateProc = predicateProc.AndParam(c => c.TenantId == processDefinitionTenantId);
                }
                else
                {
                    predicateProc = predicateProc.AndParam(c => c.TenantId == null);
                }
                predicateTask = predicateTask.AndParam(c => DbContext.Set <ProcessDefinitionEntity>().Where(predicateProc).Select(p => p.Id).ToList().Contains(c.ProcessDefinitionId));
            }

            Find(predicateTask).ForEach(d =>
            {
                d.SuspensionState = suspensionState.StateCode;
            });
        }
        protected internal override void UpdateSuspensionState(CommandContext commandContext,
                                                               ISuspensionState suspensionState)
        {
            IProcessDefinitionManager processDefinitionManager = commandContext.ProcessDefinitionManager;

            if (ProcessDefinitionId != null)
            {
                processDefinitionManager.UpdateProcessDefinitionSuspensionStateById(ProcessDefinitionId, suspensionState);
            }
            else if (IsTenantIdSet)
            {
                processDefinitionManager.UpdateProcessDefinitionSuspensionStateByKeyAndTenantId(ProcessDefinitionKey, TenantId, suspensionState);
            }
            else
            {
                processDefinitionManager.UpdateProcessDefinitionSuspensionStateByKey(ProcessDefinitionKey, suspensionState);
            }

            commandContext.RunWithoutAuthorization(() => {
                var jobDefinitionSuspensionStateBuilder = CreateJobDefinitionCommandBuilder();
                var jobDefinitionCmd = GetSetJobDefinitionStateCmd(jobDefinitionSuspensionStateBuilder);
                jobDefinitionCmd.DisableLogUserOperation();
                jobDefinitionCmd.Execute(commandContext);
            });
        }
예제 #4
0
        protected internal override void UpdateSuspensionState(CommandContext commandContext,
                                                               ISuspensionState suspensionState)
        {
            IJobManager jobManager = commandContext.JobManager;

            if (!string.IsNullOrEmpty(JobId))
            {
                jobManager.UpdateJobSuspensionStateById(JobId, suspensionState);
            }
            else if (!string.IsNullOrEmpty(JobDefinitionId))
            {
                jobManager.UpdateJobSuspensionStateByJobDefinitionId(JobDefinitionId, suspensionState);
            }
            else if (!string.IsNullOrEmpty(ProcessInstanceId))
            {
                jobManager.UpdateJobSuspensionStateByProcessInstanceId(ProcessInstanceId, suspensionState);
            }
            else if (!string.IsNullOrEmpty(ProcessDefinitionId))
            {
                jobManager.UpdateJobSuspensionStateByProcessDefinitionId(ProcessDefinitionId, suspensionState);
            }
            else if (!string.IsNullOrEmpty(ProcessDefinitionKey))
            {
                if (!ProcessDefinitionTenantIdSet)
                {
                    jobManager.UpdateJobSuspensionStateByProcessDefinitionKey(ProcessDefinitionKey, suspensionState);
                }
                else
                {
                    jobManager.UpdateJobSuspensionStateByProcessDefinitionKeyAndTenantId(ProcessDefinitionKey, ProcessDefinitionTenantId, suspensionState);
                }
            }
        }
예제 #5
0
 public static void SetSuspensionState(ITaskEntity taskEntity, ISuspensionState state)
 {
     if (taskEntity.SuspensionState == state.StateCode)
     {
         throw new ActivitiException("Cannot set suspension state '" + state + "' for " + taskEntity + "': already in state '" + state + "'.");
     }
     taskEntity.SuspensionState = state.StateCode;
     DispatchStateChangeEvent(taskEntity, state);
 }
예제 #6
0
        public virtual void UpdateProcessDefinitionSuspensionStateByKey(string processDefinitionKey,
                                                                        ISuspensionState suspensionState)
        {
            throw new NotImplementedException();
            IDictionary <string, object> parameters = new Dictionary <string, object>();

            parameters["processDefinitionKey"] = processDefinitionKey;
            parameters["isTenantIdSet"]        = false;
            parameters["suspensionState"]      = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(ProcessDefinitionEntity), "updateProcessDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
        }
예제 #7
0
        public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
        {
            if (value == null)
            {
                return;
            }

            ISuspensionState ss = value as ISuspensionState;

            writer.WriteValue("{\"stateCode\":" + ss.StateCode + ",\"name\":\"" + ss.Name + "\"}");
        }
예제 #8
0
 public virtual IProcessInstanceQuery Suspended()
 {
     if (inOrStatement)
     {
         this.currentOrQueryObject.suspensionState = SuspensionStateProvider.SUSPENDED;
     }
     else
     {
         this.suspensionState = SuspensionStateProvider.SUSPENDED;
     }
     return(this);
 }
예제 #9
0
 public virtual IProcessInstanceQuery Active()
 {
     if (inOrStatement)
     {
         this.currentOrQueryObject.suspensionState = SuspensionStateProvider.ACTIVE;
     }
     else
     {
         this.suspensionState = SuspensionStateProvider.ACTIVE;
     }
     return(this);
 }
예제 #10
0
        //public virtual long FindJobCountByQueryCriteria(JobQueryImpl jobQuery)
        //{
        //    throw new NotImplementedException();
        //    //          ConfigureQuery(jobQuery);
        //    //return (long?) DbEntityManager.SelectOne("selectJobCountByQueryCriteria", jobQuery);
        //}

        public virtual void UpdateJobSuspensionStateById(string jobId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["jobId"] = jobId;
            //parameters["suspensionState"] = suspensionState.StateCode;

            //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
            Find(m => m.Id == jobId).ForEach((t) =>
            {
                t.Revision        = t.RevisionNext;
                t.SuspensionState = suspensionState.StateCode;
            });
        }
예제 #11
0
 protected internal static void DispatchStateChangeEvent(object entity, ISuspensionState state)
 {
     if (Context.CommandContext != null && Context.CommandContext.EventDispatcher.Enabled)
     {
         ActivitiEventType eventType;
         if (state == SuspensionStateProvider.ACTIVE)
         {
             eventType = ActivitiEventType.ENTITY_ACTIVATED;
         }
         else
         {
             eventType = ActivitiEventType.ENTITY_SUSPENDED;
         }
         Context.CommandContext.EventDispatcher.DispatchEvent(ActivitiEventBuilder.CreateEntityEvent(eventType, entity));
     }
 }
예제 #12
0
        //public virtual long? FindBatchCountByQueryCriteria(BatchQueryImpl batchQuery)
        //{
        //    ConfigureQuery(batchQuery);
        //    //return (long?) DbEntityManager.SelectOne("selectBatchCountByQueryCriteria", batchQuery);
        //    throw new System.NotImplementedException();
        //}

        //JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
        //ORIGINAL LINE: @SuppressWarnings("unchecked") public java.Util.List<org.camunda.bpm.engine.batch.IBatch> findBatchesByQueryCriteria(org.camunda.bpm.engine.impl.batch.BatchQueryImpl batchQuery, org.camunda.bpm.engine.impl.Page page)
        //public virtual IList<IBatch> FindBatchesByQueryCriteria(BatchQueryImpl batchQuery, Page page)
        //{
        //    ConfigureQuery(batchQuery);
        //    //return ListExt.ConvertToListT<IBatch>(DbEntityManager.SelectList("selectBatchesByQueryCriteria", batchQuery, page));
        //    throw new System.NotImplementedException();
        //}

        public virtual void UpdateBatchSuspensionStateById(string batchId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["batchId"] = batchId;
            //parameters["suspensionState"] = suspensionState.StateCode;

            //var queryParameter = new ListQueryParameterObject();
            //queryParameter.Parameter = parameters;

            //DbEntityManager.Update(typeof(BatchEntity), "updateBatchSuspensionStateByParameters", queryParameter);

            var entity = First(c => c.Id == batchId);

            if (entity != null)
            {
                entity.SuspensionState = suspensionState.StateCode;
                Update(entity);
            }
        }
예제 #13
0
        // update ///////////////////////////////////////////////////////////

        public virtual void UpdateProcessDefinitionSuspensionStateById(string processDefinitionId,
                                                                       ISuspensionState suspensionState)
        {
            #region mybatis-sql-mapping



            #endregion


            //throw new NotImplementedException();
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionId"] = processDefinitionId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(ProcessDefinitionEntity), "updateProcessDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
            ProcessDefinitionEntity data = Get(processDefinitionId);
            data.SuspensionState = suspensionState.StateCode;
            data.Revision++;
            Update(data);
            DbContext.SaveChanges();
        }
예제 #14
0
        public virtual void UpdateExecutionSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionKey"] = processDefinitionKey;
            //parameters["isTenantIdSet"] = false;
            //parameters["suspensionState"] = suspensionState.StateCode
            //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters)); ;
            var predicateProc = ParameterBuilder.True <ProcessDefinitionEntity>();
            var predicateExec = ParameterBuilder.True <ExecutionEntity>();

            if (!string.IsNullOrEmpty(processDefinitionKey))
            {
                predicateProc = predicateProc.AndParam(c => c.Key == processDefinitionKey);
                predicateExec = predicateExec.AndParam(c => DbContext.Set <ProcessDefinitionEntity>().Where(predicateProc).Select(p => p.Id).ToList().Contains(c.ProcessDefinitionId));
            }

            Find(predicateExec).ForEach(d =>
            {
                d.Revision        = d.RevisionNext;
                d.SuspensionState = suspensionState.StateCode;
            });
            //DbContext.SaveChanges();
        }
예제 #15
0
 public static void SetSuspensionState(IProcessDefinitionEntity processDefinitionEntity, ISuspensionState state)
 {
     if (processDefinitionEntity.SuspensionState == state.StateCode)
     {
         throw new ActivitiException("Cannot set suspension state '" + state + "' for " + processDefinitionEntity + "': already in state '" + state + "'.");
     }
     processDefinitionEntity.SuspensionState = state.StateCode;
     DispatchStateChangeEvent(processDefinitionEntity, state);
 }
예제 #16
0
        public virtual void UpdateExecutionSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionId"] = processDefinitionId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
            var predicate = ParameterBuilder.True <ExecutionEntity>();

            if (!string.IsNullOrEmpty(processDefinitionId))
            {
                predicate = predicate.AndParam(c => c.ProcessDefinitionId == processDefinitionId);
            }

            Find(predicate).ForEach(d =>
            {
                d.Revision        = d.RevisionNext;
                d.SuspensionState = suspensionState.StateCode;
            });
            //DbContext.SaveChanges();
        }
예제 #17
0
 private void TimeStamp(ISuspensionState values)
 {
     values[CacheDateKey] = DateTime.Now;
 }
예제 #18
0
        public virtual void UpdateExecutionSuspensionStateByProcessInstanceId(string processInstanceId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processInstanceId"] = processInstanceId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(ExecutionEntity), "updateExecutionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));

            //< update id = "updateExecutionSuspensionStateByParameters" parameterType = "org.camunda.bpm.engine.impl.db.ListQueryParameterObject" >
            //   update ${ prefix}
            //        ACT_RU_EXECUTION set
            //  REV_ = REV_ + 1,
            //  SUSPENSION_STATE_ = #{parameter.suspensionState, jdbcType=INTEGER}
            //< where >
            //  <if test = "parameter.processInstanceId != null" >
            //    PROC_INST_ID_ = #{parameter.processInstanceId, jdbcType=VARCHAR}
            //  </if>
            //  <if test = "parameter.processDefinitionId != null" >
            //    and PROC_DEF_ID_ = #{parameter.processDefinitionId, jdbcType=VARCHAR}
            //  </if>
            //  <if test = "parameter.processDefinitionKey != null" >
            //    and PROC_DEF_ID_ IN (
            //      SELECT ID_
            //      FROM ${ prefix}
            //        ACT_RE_PROCDEF PD
            //      WHERE PD.KEY_ = #{parameter.processDefinitionKey, jdbcType=VARCHAR}
            //      <if test = "parameter.isTenantIdSet" >
            //        <if test = "parameter.tenantId != null" >
            //          and PD.TENANT_ID_ = #{parameter.tenantId, jdbcType=VARCHAR}
            //        </if>
            //        <if test = "parameter.tenantId == null" >
            //          and PD.TENANT_ID_ is null
            //        </if>
            //      </if>
            //    )
            //    < bind name = "columnPrefix" value = "''" />
            //       < include refid = "org.camunda.bpm.engine.impl.persistence.entity.TenantEntity.queryTenantCheckWithPrefix" />
            //      </if>
            //    </ where >
            //  </ update >

            var predicate = ParameterBuilder.True <ExecutionEntity>();

            if (!string.IsNullOrEmpty(processInstanceId))
            {
                predicate = predicate.AndParam(c => c.ProcessInstanceId == processInstanceId);
            }

            var executions = Find(predicate);

            foreach (var exec in executions)
            {
                exec.Revision        = exec.RevisionNext;
                exec.SuspensionState = suspensionState.StateCode;
            }

            //DbContext.SaveChanges();
        }
예제 #19
0
        /// <summary>
        ///
        /// </summary>
        public virtual ProcessInstance GetProcessInstanceById(string processInstanceId, ISuspensionState suspensionState = null)
        {
            IProcessInstance processInstance = (runtimeService as ServiceImpl).CommandExecutor.Execute(new Engine.Impl.Cmd.GetProcessInstanceByIdCmd(processInstanceId, suspensionState));

            return(processInstanceConverter.From(processInstance));
        }
예제 #20
0
 public virtual IProcessDefinitionQuery SetActive()
 {
     this.suspensionState = SuspensionStateProvider.ACTIVE;
     return(this);
 }
예제 #21
0
 private void TimeStamp(ISuspensionState values)
 {
     values[CacheDateKey] = DateTime.Now;
 }
예제 #22
0
 public virtual IProcessDefinitionQuery SetSuspended()
 {
     this.suspensionState = SuspensionStateProvider.SUSPENDED;
     return(this);
 }
예제 #23
0
        public virtual void UpdateJobDefinitionSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionKey"] = processDefinitionKey;
            //parameters["isProcessDefinitionTenantIdSet"] = true;
            //parameters["processDefinitionTenantId"] = processDefinitionTenantId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(JobDefinitionEntity), "updateJobDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));

            //TODO 更新待优化 Update JobDef.SuspensionState
            throw new NotImplementedException("需要关联ACT_RE_PROCDEF");
            //Find(m => m.ProcessDefinitionKey == processDefinitionKey&&m.ProcessDefinitionTenantId).ForEach((t) =>
            //{
            //    t.Revision = t.Revision + 1;
            //    t.SuspensionState = t.SuspensionState = suspensionState.StateCode;
            //});
        }
예제 #24
0
 public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState)
 {
     Find(c => c.ProcessDefinitionKey == processDefinitionKey && c.JobHandlerType == TimerStartEventJobHandler.TYPE)
     .ForEach((d) =>
     {
         d.Revision        = d.Revision + 1;
         d.SuspensionState = suspensionState.StateCode;
     });
     //IDictionary<string, object> parameters = new Dictionary<string, object>();
     //parameters["processDefinitionKey"] = processDefinitionKey;
     //parameters["isProcessDefinitionTenantIdSet"] = false;
     //parameters["suspensionState"] = suspensionState.StateCode;
     //parameters["handlerType"] = TimerStartEventJobHandler.TYPE;
     //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
 }
예제 #25
0
 public virtual void UpdateJobSuspensionStateByProcessDefinitionKey(string processDefinitionKey, ISuspensionState suspensionState)
 {
     Find(j => j.ProcessDefinitionKey == processDefinitionKey)
     .ForEach((j) =>
     {
         j.Revision        = j.Revision + 1;
         j.SuspensionState = suspensionState.StateCode;
     });
     //IDictionary<string, object> parameters = new Dictionary<string, object>();
     //parameters["processDefinitionKey"] = processDefinitionKey;
     //parameters["isProcessDefinitionTenantIdSet"] = false;
     //parameters["suspensionState"] = suspensionState.StateCode;
     //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
 }
예제 #26
0
        public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionId"] = processDefinitionId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //parameters["handlerType"] = TimerStartEventJobHandler.TYPE;
            //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));

            var predicate =
                ParameterBuilder.True <JobEntity>().AndParam(c => c.JobHandlerType == TimerStartEventJobHandler.TYPE);

            if (!string.IsNullOrEmpty(processDefinitionId))
            {
                predicate = predicate.AndParam(c => c.ProcessDefinitionId == processDefinitionId);
            }

            var jobs = Find(predicate);

            foreach (var job in jobs)
            {
                job.Revision        = job.RevisionNext;
                job.SuspensionState = suspensionState.StateCode;
            }
            DbContext.SaveChanges();


            //Find(m => m.ProcessDefinitionId == processDefinitionId && m.JobHandlerType == TimerStartEventJobHandler.TYPE).ForEach((t) =>
            //{
            //    t.Revision = t.RevisionNext;
            //    t.SuspensionState = suspensionState.StateCode;
            //    DbContext.SaveChanges();
            //});
        }
예제 #27
0
        public virtual void UpdateJobDefinitionSuspensionStateByProcessDefinitionId(string processDefinitionId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionId"] = processDefinitionId;
            //parameters["suspensionState"] = suspensionState.StateCode;
            //DbEntityManager.Update(typeof(JobDefinitionEntity), "updateJobDefinitionSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));

            //TODO 更新待优化 Update JobDef.SuspensionState
            Find(m => m.ProcessDefinitionId == processDefinitionId).ForEach((t) =>
            {
                t.Revision        = t.Revision + 1;
                t.SuspensionState = t.SuspensionState = suspensionState.StateCode;
            });
        }
예제 #28
0
        public virtual void UpdateJobSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState)
        {
            //IDictionary<string, object> parameters = new Dictionary<string, object>();
            //parameters["processDefinitionKey"] = processDefinitionKey;
            //parameters["isProcessDefinitionTenantIdSet"] = true;
            //parameters["processDefinitionTenantId"] = processDefinitionTenantId;
            //parameters["suspensionState"] = suspensionState.StateCode;

            //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
            throw new NotImplementedException("复杂查询,更新");
            //var list = DbEntityManager.SelectList(m => m.ProcessDefinitionKey == processDefinitionKey && m.ProcessDefinitionId != null && m.TenantId != null && m.TenantId == processDefinitionKey);
            //foreach (var item in list)
            //{
            //    item.suspensionState = suspensionState.StateCode;
            //}
            //DbEntityManager.Update(list);
        }
예제 #29
0
 protected internal abstract void UpdateSuspensionState(CommandContext commandContext, ISuspensionState suspensionState);
예제 #30
0
        public virtual void UpdateStartTimerJobSuspensionStateByProcessDefinitionKeyAndTenantId(string processDefinitionKey, string processDefinitionTenantId, ISuspensionState suspensionState)
        {
            IDictionary <string, object> parameters = new Dictionary <string, object>();

            parameters["processDefinitionKey"]           = processDefinitionKey;
            parameters["isProcessDefinitionTenantIdSet"] = true;
            parameters["processDefinitionTenantId"]      = processDefinitionTenantId;
            parameters["suspensionState"] = suspensionState.StateCode;
            parameters["handlerType"]     = TimerStartEventJobHandler.TYPE;
            throw new NotImplementedException("复杂查询,更新");
            //DbEntityManager.Update(typeof(JobEntity), "updateJobSuspensionStateByParameters", ConfigureParameterizedQuery(parameters));
        }
 public GetProcessInstanceByIdCmd(string instanceId, ISuspensionState suspensionState = null)
 {
     this.instanceId      = instanceId;
     this.suspensionState = suspensionState;
 }