public virtual void modifyProcessInstance(ProcessInstanceModificationDto dto) { if (dto.Instructions != null && dto.Instructions.Count > 0) { ProcessInstanceModificationBuilder modificationBuilder = engine.RuntimeService.createProcessInstanceModification(processInstanceId); dto.applyTo(modificationBuilder, engine, objectMapper); modificationBuilder.execute(dto.SkipCustomListeners, dto.SkipIoMappings); } }
public override void applyTo(ProcessInstanceModificationBuilder builder, ProcessEngine engine, ObjectMapper mapper) { checkValidity(); ProcessInstanceModificationInstantiationBuilder activityBuilder = null; if (!string.ReferenceEquals(ancestorActivityInstanceId, null)) { activityBuilder = builder.startAfterActivity(activityId, ancestorActivityInstanceId); } else { activityBuilder = builder.startAfterActivity(activityId); } applyVariables(activityBuilder, engine, mapper); }
public override void applyTo(ProcessInstanceModificationBuilder builder, ProcessEngine engine, ObjectMapper mapper) { validateParameters(); if (!string.ReferenceEquals(activityId, null)) { builder.cancelAllForActivity(activityId); } else if (!string.ReferenceEquals(activityInstanceId, null)) { builder.cancelActivityInstance(activityInstanceId); } else if (!string.ReferenceEquals(transitionInstanceId, null)) { builder.cancelTransitionInstance(transitionInstanceId); } }
public virtual BatchDto modifyProcessInstanceAsync(ProcessInstanceModificationDto dto) { Batch batch = null; if (dto.Instructions != null && dto.Instructions.Count > 0) { ProcessInstanceModificationBuilder modificationBuilder = engine.RuntimeService.createProcessInstanceModification(processInstanceId); dto.applyTo(modificationBuilder, engine, objectMapper); try { batch = modificationBuilder.executeAsync(dto.SkipCustomListeners, dto.SkipIoMappings); } catch (BadUserRequestException e) { throw new InvalidRequestException(Status.BAD_REQUEST, e.Message); } return(BatchDto.fromBatch(batch)); } throw new InvalidRequestException(Status.BAD_REQUEST, "The provided instuctions are invalid."); }