/// <inheritdoc/> public virtual async Task HandleAsync(V1WorkflowActivityCancelledDomainEvent e, CancellationToken cancellationToken = default) { var activity = await this.GetOrReconcileProjectionAsync(e.AggregateId, cancellationToken); activity.LastModified = e.CreatedAt.UtcDateTime; activity.ExecutedAt = e.CreatedAt.UtcDateTime; activity.Status = V1WorkflowActivityStatus.Cancelled; 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="V1WorkflowActivityCancelledDomainEvent"/> /// </summary> /// <param name="e">The <see cref="V1WorkflowActivityCancelledDomainEvent"/> to handle</param> protected virtual void On(V1WorkflowActivityCancelledDomainEvent e) { this.Status = V1WorkflowActivityStatus.Cancelled; this.On(this.RegisterEvent(new V1WorkflowActivityExecutedDomainEvent(this.Id, this.Status))); }