private ModificationBuilder createModificationBuilder(ModificationDto dto) { ModificationBuilder builder = ProcessEngine.RuntimeService.createModification(dto.ProcessDefinitionId); if (dto.Instructions != null && dto.Instructions.Count > 0) { dto.applyTo(builder, ProcessEngine, objectMapper); } IList <string> processInstanceIds = dto.ProcessInstanceIds; builder.processInstanceIds(processInstanceIds); ProcessInstanceQueryDto processInstanceQueryDto = dto.ProcessInstanceQuery; if (processInstanceQueryDto != null) { ProcessInstanceQuery processInstanceQuery = processInstanceQueryDto.toQuery(ProcessEngine); builder.processInstanceQuery(processInstanceQuery); } if (dto.SkipCustomListeners) { builder.skipCustomListeners(); } if (dto.SkipIoMappings) { builder.skipIoMappings(); } return(builder); }
public virtual void executeModification(ModificationDto modificationExecutionDto) { try { createModificationBuilder(modificationExecutionDto).execute(); } catch (BadUserRequestException e) { throw new InvalidRequestException(Status.BAD_REQUEST, e.Message); } }
public virtual BatchDto executeModificationAsync(ModificationDto modificationExecutionDto) { Batch batch = null; try { batch = createModificationBuilder(modificationExecutionDto).executeAsync(); } catch (BadUserRequestException e) { throw new InvalidRequestException(Status.BAD_REQUEST, e.Message); } return(BatchDto.fromBatch(batch)); }
/// <summary> /// Updates the Properties.Modifications by the NetHandle. /// Adds also new modification combinations to the VehicleModifications table. /// </summary> public void UpdateVehicleModifications() { if (Properties.Modifications == null) { Properties.Modifications = new List <VehicleModificationDto>(); } using (VehicleContext context = VehicleRepository.GetVehicleContext()) { foreach (VehicleModType modification in Enum.GetValues(typeof(VehicleModType))) { // Search for existing Modification int value = API.shared.getVehicleMod(Vehicle, (int)modification); ModificationDto modificationDto = context.Modifications .FirstOrDefault(modDto => modDto.Slot == modification && modDto.Value == value); // No existing modification found -> Create new if (modificationDto == null) { modificationDto = context.Modifications.Add(new ModificationDto { Value = value, Slot = modification }); context.SaveChanges(); } // Check for existing modification mapping or create new if (Properties.Modifications.Any(vmdto => vmdto.Modification != null && vmdto.Modification.Slot == modification)) { Properties.Modifications.First(vmdto => vmdto.Modification != null && vmdto.Modification.Slot == modification) .Modification = modificationDto; } else { Properties.Modifications.Add(new VehicleModificationDto { VehicleId = Properties.VehicleId, ModificationId = modificationDto.ModificationId }); } } } Debug("Update - Vehicle Modifications updated."); }