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 System.Linq;
10 : using Cqrs.Azure.DocumentDb;
11 : using Cqrs.Azure.DocumentDb.Factories;
12 : using Ninject.Modules;
13 :
14 : namespace Cqrs.Ninject.Azure.DocumentDb.Configuration
15 : {
16 : /// <summary>
17 : /// The <see cref="INinjectModule"/> for use with the Cqrs package.
18 : /// </summary>
19 : public class AzureDocumentDbModule : NinjectModule
20 1 : {
21 : #region Overrides of NinjectModule
22 :
23 : /// <summary>
24 : /// Loads the module into the kernel.
25 : /// </summary>
26 1 : public override void Load()
27 : {
28 : RegisterFactories();
29 : RegisterServices();
30 : RegisterCqrsRequirements();
31 : RegisterAzureHelpers();
32 : }
33 :
34 : #endregion
35 :
36 : /// <summary>
37 : /// Register the all factories
38 : /// </summary>
39 1 : public virtual void RegisterFactories()
40 : {
41 : Bind<IAzureDocumentDbDataStoreConnectionStringFactory>()
42 : .To<AzureDocumentDbDataStoreConnectionStringFactory>()
43 : .InSingletonScope();
44 : }
45 :
46 : /// <summary>
47 : /// Register the all services
48 : /// </summary>
49 1 : public virtual void RegisterServices()
50 : {
51 : }
52 :
53 : /// <summary>
54 : /// Register the all Cqrs command handlers
55 : /// </summary>
56 1 : public virtual void RegisterCqrsRequirements()
57 : {
58 : }
59 :
60 0 : public virtual void RegisterAzureHelpers()
61 : {
62 : if (!Kernel.GetBindings(typeof(IAzureDocumentDbHelper)).Any())
63 : {
64 : Bind<IAzureDocumentDbHelper>()
65 : .To<AzureDocumentDbHelper>()
66 : .InSingletonScope();
67 : }
68 : }
69 : }
70 : }
|