Skip to content

Commit b9d9919

Browse files
authored
Merge pull request danielgerlag#813 from glucaci/transaction
Add transaction support
2 parents 8cf38bc + b68bb06 commit b9d9919

File tree

1 file changed

+21
-1
lines changed

1 file changed

+21
-1
lines changed

src/providers/WorkflowCore.Persistence.MongoDB/ServiceCollectionExtensions.cs

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
using MongoDB.Driver;
22
using System;
3-
using System.Linq;
43
using WorkflowCore.Interface;
54
using WorkflowCore.Models;
65
using WorkflowCore.Persistence.MongoDB.Services;
@@ -33,5 +32,26 @@ public static WorkflowOptions UseMongoDB(
3332
});
3433
return options;
3534
}
35+
36+
public static WorkflowOptions UseMongoDB(
37+
this WorkflowOptions options,
38+
Func<IServiceProvider, IMongoDatabase> createDatabase)
39+
{
40+
if (options == null) throw new ArgumentNullException(nameof(options));
41+
if (createDatabase == null) throw new ArgumentNullException(nameof(createDatabase));
42+
43+
options.UsePersistence(sp =>
44+
{
45+
var db = createDatabase(sp);
46+
return new MongoPersistenceProvider(db);
47+
});
48+
options.Services.AddTransient<IWorkflowPurger>(sp =>
49+
{
50+
var db = createDatabase(sp);
51+
return new WorkflowPurger(db);
52+
});
53+
54+
return options;
55+
}
3656
}
3757
}

0 commit comments

Comments
 (0)