Documentation Coverage Report
Current view: top level - Ninject/Azure/Cqrs.Ninject.Azure.DocumentDb/Configuration - AzureDocumentDbEventStoreModule.cs Hit Total Coverage
Version: 2.2 Artefacts: 6 6 100.0 %
Date: 2017-09-22

          Line data    Source code
       1             : #region Copyright
       2             : // // -----------------------------------------------------------------------
       3             : // // <copyright company="Chinchilla Software Limited">
       4             : // //   Copyright Chinchilla Software Limited. All rights reserved.
       5             : // // </copyright>
       6             : // // -----------------------------------------------------------------------
       7             : #endregion
       8             : 
       9             : using System;
      10             : using System.Linq;
      11             : using Cqrs.Azure.DocumentDb;
      12             : using Cqrs.Azure.DocumentDb.Events;
      13             : using Cqrs.Events;
      14             : using Ninject.Modules;
      15             : 
      16             : namespace Cqrs.Ninject.Azure.DocumentDb.Configuration
      17             : {
      18             :         /// <summary>
      19             :         /// A <see cref="INinjectModule"/> that wires up <see cref="AzureDocumentDbEventStore{TAuthenticationToken}"/> as the <see cref="IEventStore{TAuthenticationToken}"/>.
      20             :         /// </summary>
      21             :         /// <typeparam name="TAuthenticationToken">The <see cref="Type"/> of the authentication token.</typeparam>
      22             :         public class AzureDocumentDbEventStoreModule<TAuthenticationToken> : NinjectModule
      23           1 :         {
      24             :                 #region Overrides of NinjectModule
      25             : 
      26             :                 /// <summary>
      27             :                 /// Loads the module into the kernel.
      28             :                 /// </summary>
      29           1 :                 public override void Load()
      30             :                 {
      31             :                         RegisterFactories();
      32             :                         RegisterServices();
      33             :                         RegisterEventStore();
      34             :                         RegisterAzureHelpers();
      35             :                 }
      36             : 
      37             :                 #endregion
      38             : 
      39             :                 /// <summary>
      40             :                 /// Register the all factories
      41             :                 /// </summary>
      42           1 :                 public virtual void RegisterFactories()
      43             :                 {
      44             :                         Bind<IEventBuilder<TAuthenticationToken>>()
      45             :                                 .To<DefaultEventBuilder<TAuthenticationToken>>()
      46             :                                 .InSingletonScope();
      47             :                         Bind<IEventDeserialiser<TAuthenticationToken>>()
      48             :                                 .To<EventDeserialiser<TAuthenticationToken>>()
      49             :                                 .InSingletonScope();
      50             :                 }
      51             : 
      52             :                 /// <summary>
      53             :                 /// Register the all services
      54             :                 /// </summary>
      55           1 :                 public virtual void RegisterServices()
      56             :                 {
      57             :                 }
      58             : 
      59             :                 /// <summary>
      60             :                 /// Register <see cref="IAzureDocumentDbHelper"/> if it hasn't already been registered.
      61             :                 /// </summary>
      62           1 :                 public virtual void RegisterAzureHelpers()
      63             :                 {
      64             :                         if (!Kernel.GetBindings(typeof(IAzureDocumentDbHelper)).Any())
      65             :                         {
      66             :                                 Bind<IAzureDocumentDbHelper>()
      67             :                                         .To<AzureDocumentDbHelper>()
      68             :                                         .InSingletonScope();
      69             :                         }
      70             :                 }
      71             : 
      72             :                 /// <summary>
      73             :                 /// Register the <see cref="IAzureDocumentDbEventStoreConnectionStringFactory"/> and <see cref="IEventStore{TAuthenticationToken}"/>
      74             :                 /// </summary>
      75           1 :                 public virtual void RegisterEventStore()
      76             :                 {
      77             :                         Bind<IAzureDocumentDbEventStoreConnectionStringFactory>()
      78             :                                 .To<AzureDocumentDbEventStoreConnectionStringFactory>()
      79             :                                 .InSingletonScope();
      80             : 
      81             :                         Bind<IEventStore<TAuthenticationToken>>()
      82             :                                 .To<AzureDocumentDbEventStore<TAuthenticationToken>>()
      83             :                                 .InSingletonScope();
      84             :                 }
      85             :         }
      86             : }

Generated by: LCOV version 1.10