コード例 #1
0
        public async Task UpdateAsync(Workflow workflow)
        {
            Query[workflow.Id] = workflow;

            var context = new WorkflowUpdatedContext(workflow);
            await _handlers.InvokeAsync(x => x.UpdatedAsync(context), _logger);
        }
コード例 #2
0
        public async Task SaveAsync(Workflow workflow)
        {
            var isNew = workflow.Id == 0;

            _session.Save(workflow);

            if (isNew)
            {
                var context = new WorkflowCreatedContext(workflow);
                await _handlers.InvokeAsync((handler, context) => handler.CreatedAsync(context), context, _logger);
            }
            else
            {
                var context = new WorkflowUpdatedContext(workflow);
                await _handlers.InvokeAsync((handler, context) => handler.UpdatedAsync(context), context, _logger);
            }
        }
コード例 #3
0
        public async Task SaveAsync(Workflow workflow)
        {
            var isNew = workflow.Id == 0;

            _session.Save(workflow);

            if (isNew)
            {
                var context = new WorkflowCreatedContext(workflow);
                await _handlers.InvokeAsync((handler, context) => handler.CreatedAsync(context), context, _logger);
            }
            else
            {
                var context = new WorkflowUpdatedContext(workflow);
                await _handlers.InvokeAsync((handler, context) => handler.UpdatedAsync(context), context, _logger);
            }

            // Allow an atomic workflow to get up to date data.
            await _session.FlushAsync();
        }
コード例 #4
0
 public async override Task UpdatedAsync(WorkflowUpdatedContext context)
 {
     await UpdateRouteEntriesAsync(context);
 }
コード例 #5
0
 public virtual Task UpdatedAsync(WorkflowUpdatedContext context)
 {
     return(Task.CompletedTask);
 }
コード例 #6
0
 public override Task UpdatedAsync(WorkflowUpdatedContext context)
 {
     return(UpdateRouteEntriesAsync(context));
 }