Line data Source code
1 : #region Copyright
2 : // // -----------------------------------------------------------------------
3 : // // <copyright company="cdmdotnet Limited">
4 : // // Copyright cdmdotnet Limited. All rights reserved.
5 : // // </copyright>
6 : // // -----------------------------------------------------------------------
7 : #endregion
8 :
9 : using Cqrs.Events;
10 : using Cqrs.MongoDB.Events;
11 : using Cqrs.MongoDB.Serialisers;
12 : using Ninject.Modules;
13 :
14 : namespace Cqrs.Ninject.MongoDB.Configuration
15 : {
16 : public class MongoDbEventStoreModule<TAuthenticationToken> : NinjectModule
17 0 : {
18 : #region Overrides of NinjectModule
19 :
20 : /// <summary>
21 : /// Loads the module into the kernel.
22 : /// </summary>
23 1 : public override void Load()
24 : {
25 : RegisterFactories();
26 : RegisterServices();
27 : RegisterCqrsRequirements();
28 : }
29 :
30 : #endregion
31 :
32 : /// <summary>
33 : /// Register the all factories
34 : /// </summary>
35 1 : public virtual void RegisterFactories()
36 : {
37 : Bind<IMongoDbEventStoreConnectionStringFactory>()
38 : .To<MongoDbEventStoreConnectionStringFactory>()
39 : .InSingletonScope();
40 : }
41 :
42 : /// <summary>
43 : /// Register the all services
44 : /// </summary>
45 1 : public virtual void RegisterServices()
46 : {
47 : }
48 :
49 : /// <summary>
50 : /// Register the all Cqrs command handlers
51 : /// </summary>
52 1 : public virtual void RegisterCqrsRequirements()
53 : {
54 : Bind<IEventBuilder<TAuthenticationToken>>()
55 : .To<MongoDbEventBuilder<TAuthenticationToken>>()
56 : .InSingletonScope();
57 : Bind<IEventDeserialiser<TAuthenticationToken>>()
58 : .To<MongoDbEventDeserialiser<TAuthenticationToken>>()
59 : .InSingletonScope();
60 : Bind<IEventStore<TAuthenticationToken>>()
61 : .To<MongoDbEventStore<TAuthenticationToken>>()
62 : .InSingletonScope();
63 : }
64 : }
65 : }
|