public CqrsMongoWireup(CqrsWireup wireup, string connectionName, string readModelsConnectionName, params Assembly[] assemblies)
            : base(wireup)
        {
            string connectionString           = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString;
            string readModelsConnectionString = ConfigurationManager.ConnectionStrings[readModelsConnectionName].ConnectionString;

            Register <IPersistHelper>(_ => new PersistHelper(connectionString))
            .Register <ICheckpointStore>(_ => new CheckpointStore(readModelsConnectionString))
            .Register <IVersioningRepository>(_ => new VersioningRepository(readModelsConnectionString))
            .Register <IHistoryReader>(ioc => new EventStoreHistoryReader(ioc.Resolve <IStoreEvents>()))
            .Register <IUtilityTasks>(ioc => new UtilityTasks(ioc.Resolve <ILogger>(),
                                                              ioc.Resolve <IDependencyResolver>(),
                                                              ioc.Resolve <IStoreEvents>(),
                                                              ioc.Resolve <IHistoryReader>(),
                                                              ioc.Resolve <IVersioningRepository>(),
                                                              ioc.Resolve <ICheckpointStore>(),
                                                              ioc.Resolve <IPersistHelper>(),
                                                              ioc.Resolve <IRepository>(),
                                                              readModelsConnectionString));

            var evt   = typeof(IEvent);
            var cmd   = typeof(ICommand);
            var types = assemblies
                        .SelectMany(a => a.GetTypes())
                        .Where(t => t.IsClass && (evt.IsAssignableFrom(t) || cmd.IsAssignableFrom(t)));

            foreach (var t in types)
            {
                BsonClassMap.LookupClassMap(t);
            }
        }
Exemple #2
0
        public CqrsMsSqlWireup(CqrsWireup wireup, string connectionName, string readModelsConnectionName)
            : base(wireup)
        {
            string connectionString           = ConfigurationManager.ConnectionStrings[connectionName].ConnectionString;
            string readModelsConnectionString = ConfigurationManager.ConnectionStrings[readModelsConnectionName].ConnectionString;

            Register <IPersistHelper>(_ => new PersistHelper(connectionString))
            .Register <ICheckpointStore>(_ => new CheckpointStore(readModelsConnectionString))
            .Register <IVersioningRepository>(_ => new VersioningRepository(readModelsConnectionString))
            .Register <IHistoryReader>(ioc => new EventStoreHistoryReader(ioc.Resolve <IStoreEvents>()))
            .Register <IUtilityTasks>(ioc => new UtilityTasks(ioc.Resolve <ILogger>(),
                                                              ioc.Resolve <IDependencyResolver>(),
                                                              ioc.Resolve <IStoreEvents>(),
                                                              ioc.Resolve <IHistoryReader>(),
                                                              ioc.Resolve <IVersioningRepository>(),
                                                              ioc.Resolve <ICheckpointStore>(),
                                                              ioc.Resolve <IPersistHelper>(),
                                                              ioc.Resolve <IRepository>(),
                                                              readModelsConnectionString));
        }
 public static CqrsMsSqlWireup WithMsSql(this CqrsWireup wireup, string connectionName, string readModelsConnectionName)
 {
     return(new CqrsMsSqlWireup(wireup, connectionName, readModelsConnectionName));
 }
 public static CqrsMongoWireup WithMongo(this CqrsWireup wireup, string connectionName, string readModelsConnectionName, params Assembly[] assemblies)
 {
     return(new CqrsMongoWireup(wireup, connectionName, readModelsConnectionName, assemblies));
 }