public async Task Handle(FlowNodeDefCreatedEvent message, CancellationToken token) { var record = await _processInstanceQueryRepository.Get(message.AggregateId, token); record.Handle(message); await _processInstanceCommandRepository.Update(record, token); await _processInstanceCommandRepository.SaveChanges(token); }
public async Task <ProcessInstanceResult> Handle(GetProcessInstanceQuery request, CancellationToken cancellationToken) { var result = await _caseInstanceQueryRepository.Get(request.Id, cancellationToken); if (result == null) { _logger.LogError($"Process instance '{request.Id}' doesn't exist"); throw new UnknownFlowInstanceException(string.Format(Global.UnknownProcessInstance, request.Id)); } return(ProcessInstanceResult.ToDto(result)); }
public async Task <ProcessInstanceAggregate> MonitorProcessInstance(string id, Func <ProcessInstanceAggregate, bool> callback, CancellationToken token) { while (true) { Thread.Sleep(100); var result = await _processInstanceQueryRepository.Get(id, token); if (callback(result)) { return(result); } } }