예제 #1
0
        public async Task <DeleteWorkflowInstanceResult> DeleteAsync(string workflowInstanceId, CancellationToken cancellationToken = default)
        {
            var workflowInstance = await _workflowInstanceStore.FindByIdAsync(workflowInstanceId, cancellationToken);

            if (workflowInstance == null)
            {
                return(new DeleteWorkflowInstanceResult(DeleteWorkflowInstanceResultStatus.NotFound, null));
            }

            await _workflowInstanceStore.DeleteAsync(workflowInstance, cancellationToken);

            return(new DeleteWorkflowInstanceResult(DeleteWorkflowInstanceResultStatus.Ok, workflowInstance));
        }
예제 #2
0
        public async Task <IActionResult> Handle(string id, CancellationToken cancellationToken = default)
        {
            var workflowInstance = await _workflowInstanceStore.FindByIdAsync(id, cancellationToken);

            if (workflowInstance == null)
            {
                return(NotFound());
            }

            await _workflowInstanceStore.DeleteAsync(workflowInstance, cancellationToken);

            return(NoContent());
        }
예제 #3
0
        public async Task Handle(WorkflowExecutionFinished notification, CancellationToken cancellationToken)
        {
            var workflowExecutionContext = notification.WorkflowExecutionContext;

            if (workflowExecutionContext.DeleteCompletedInstances)
            {
                _logger.LogDebug("Deleting completed workflow instance {WorkflowInstanceId}", workflowExecutionContext.WorkflowInstance.Id);
                await _workflowInstanceStore.DeleteAsync(workflowExecutionContext.WorkflowInstance, cancellationToken);
            }
            else
            {
                await SaveWorkflowAsync(notification.WorkflowExecutionContext.WorkflowInstance, cancellationToken);
            }
        }
        public async Task <IActionResult> Delete(string id, string returnUrl, CancellationToken cancellationToken)
        {
            var instance = await workflowInstanceStore.GetByIdAsync(id, cancellationToken);

            if (instance == null)
            {
                return(NotFound());
            }

            await workflowInstanceStore.DeleteAsync(id, cancellationToken);

            notifier.Notify("Workflow instance successfully deleted.", NotificationType.Success);

            if (Url.IsLocalUrl(returnUrl))
            {
                return(Redirect(returnUrl));
            }

            return(RedirectToAction("Index", "WorkflowDefinition"));
        }
예제 #5
0
 public async Task DeleteAsync(string id)
 {
     await _workflowInstanceStore.DeleteAsync(id);
 }
        public async Task DeleteAsync(WorkflowInstance entity, CancellationToken cancellationToken = default)
        {
            await _store.DeleteAsync(entity, cancellationToken);

            await _mediator.Publish(new WorkflowInstanceDeleted(entity), cancellationToken);
        }