2
2
using System . Linq ;
3
3
using System . Threading ;
4
4
using System . Threading . Tasks ;
5
+
5
6
using Microsoft . Extensions . DependencyInjection ;
6
7
using Microsoft . Extensions . Logging ;
7
8
using WorkflowCore . Exceptions ;
@@ -46,10 +47,10 @@ public Task<string> StartWorkflow(string workflowId, int? version, object data =
46
47
return StartWorkflow < object > ( workflowId , version , data , reference ) ;
47
48
}
48
49
49
- public Task < string > StartWorkflow < TData > ( string workflowId , TData data = null , string reference = null )
50
+ public Task < string > StartWorkflow < TData > ( string workflowId , TData data = null , string reference = null )
50
51
where TData : class , new ( )
51
52
{
52
- return StartWorkflow < TData > ( workflowId , null , data , reference ) ;
53
+ return StartWorkflow ( workflowId , null , data , reference ) ;
53
54
}
54
55
55
56
public async Task < string > StartWorkflow < TData > ( string workflowId , int ? version , TData data = null , string reference = null )
@@ -203,7 +204,10 @@ public async Task<bool> TerminateWorkflow(string workflowId)
203
204
try
204
205
{
205
206
var wf = await _persistenceStore . GetWorkflowInstance ( workflowId ) ;
207
+
206
208
wf . Status = WorkflowStatus . Terminated ;
209
+ wf . CompleteTime = _dateTimeProvider . UtcNow ;
210
+
207
211
await _persistenceStore . PersistWorkflow ( wf ) ;
208
212
await _queueProvider . QueueWork ( workflowId , QueueType . Index ) ;
209
213
await _eventHub . PublishNotification ( new WorkflowTerminated
@@ -225,16 +229,16 @@ await _eventHub.PublishNotification(new WorkflowTerminated
225
229
public void RegisterWorkflow < TWorkflow > ( )
226
230
where TWorkflow : IWorkflow
227
231
{
228
- TWorkflow wf = ActivatorUtilities . CreateInstance < TWorkflow > ( _serviceProvider ) ;
232
+ var wf = ActivatorUtilities . CreateInstance < TWorkflow > ( _serviceProvider ) ;
229
233
_registry . RegisterWorkflow ( wf ) ;
230
234
}
231
235
232
236
public void RegisterWorkflow < TWorkflow , TData > ( )
233
237
where TWorkflow : IWorkflow < TData >
234
238
where TData : new ( )
235
239
{
236
- TWorkflow wf = ActivatorUtilities . CreateInstance < TWorkflow > ( _serviceProvider ) ;
237
- _registry . RegisterWorkflow < TData > ( wf ) ;
240
+ var wf = ActivatorUtilities . CreateInstance < TWorkflow > ( _serviceProvider ) ;
241
+ _registry . RegisterWorkflow ( wf ) ;
238
242
}
239
243
}
240
244
}
0 commit comments