/// <inheritdoc/> public virtual async Task HandleAsync(V1WorkflowActivitySuspendedDomainEvent e, CancellationToken cancellationToken = default) { var activity = await this.GetOrReconcileProjectionAsync(e.AggregateId, cancellationToken); activity.LastModified = e.CreatedAt.UtcDateTime; activity.Status = V1WorkflowActivityStatus.Suspended; await this.Projections.UpdateAsync(activity, cancellationToken); await this.Projections.SaveChangesAsync(cancellationToken); await this.UpdateParentWorkflowInstanceAsync(activity, cancellationToken); await this.PublishIntegrationEventAsync(e, cancellationToken); }
/// <summary> /// Handles the specified <see cref="V1WorkflowActivitySuspendedDomainEvent"/> /// </summary> /// <param name="e">The <see cref="V1WorkflowActivitySuspendedDomainEvent"/> to handle</param> protected virtual void On(V1WorkflowActivitySuspendedDomainEvent e) { this.LastModified = e.CreatedAt; this.Status = V1WorkflowActivityStatus.Suspended; //todo: keep track of runtime sessions }