public virtual BatchDto deleteAsyncHistoricQueryBased(DeleteProcessInstancesDto deleteProcessInstancesDto) { IList <string> processInstanceIds = new List <string>(); HistoricProcessInstanceQueryDto queryDto = deleteProcessInstancesDto.HistoricProcessInstanceQuery; if (queryDto != null) { HistoricProcessInstanceQuery query = queryDto.toQuery(ProcessEngine); IList <HistoricProcessInstance> historicProcessInstances = query.list(); foreach (HistoricProcessInstance historicProcessInstance in historicProcessInstances) { processInstanceIds.Add(historicProcessInstance.Id); } } if (deleteProcessInstancesDto.ProcessInstanceIds != null) { ((IList <string>)processInstanceIds).AddRange(deleteProcessInstancesDto.ProcessInstanceIds); } try { RuntimeService runtimeService = ProcessEngine.RuntimeService; Batch batch = runtimeService.deleteProcessInstancesAsync(processInstanceIds, null, deleteProcessInstancesDto.DeleteReason, deleteProcessInstancesDto.SkipCustomListeners, deleteProcessInstancesDto.SkipSubprocesses); return(BatchDto.fromBatch(batch)); } catch (BadUserRequestException e) { throw new InvalidRequestException(Status.BAD_REQUEST, e.Message); } }
public virtual BatchDto deleteAsync(DeleteProcessInstancesDto dto) { RuntimeService runtimeService = ProcessEngine.RuntimeService; ProcessInstanceQuery processInstanceQuery = null; if (dto.ProcessInstanceQuery != null) { processInstanceQuery = dto.ProcessInstanceQuery.toQuery(ProcessEngine); } Batch batch = null; try { batch = runtimeService.deleteProcessInstancesAsync(dto.ProcessInstanceIds, processInstanceQuery, dto.DeleteReason, dto.SkipCustomListeners, dto.SkipSubprocesses); return(BatchDto.fromBatch(batch)); } catch (BadUserRequestException e) { throw new InvalidRequestException(Status.BAD_REQUEST, e.Message); } }