/// <summary> /// Configures events to be persisted asynchronously /// </summary> /// <param name="configuration"><see cref="IEventsConfiguration"/> instance to configure</param> /// <param name="configurationAction">Callback for further configuring the <see cref="IEventsConfiguration"/></param> /// <returns>Chained <see cref="IConfigure"/> instance</returns> public static IConfigure Asynchronous(this IEventsConfiguration configuration, Action <IEventsConfiguration> configurationAction = null) { configuration.UncommittedEventStreamCoordinatorType = typeof(AsynchronousUncommittedEventStreamCoordinator); if (configurationAction != null) { configurationAction(configuration); } return(Configure.Instance); }
/// <summary> /// Configures events to be stored in an Azure DocumentDB /// </summary> /// <param name="eventsConfiguration"><see cref="IEventsConfiguration"/> being fluently configured</param> /// <param name="configureCallback"><see cref="Action{EventStorageConfiguration}">Callback</see> to get called for configuration</param> /// <returns></returns> public static IConfigure UsingDocumentDB(this IEventsConfiguration eventsConfiguration, Action <EventStorageConfiguration> configureCallback) { eventsConfiguration.EventStoreType = typeof(EventStore); eventsConfiguration.EventSubscriptionsType = typeof(EventSubscriptions); var configuration = new EventStorageConfiguration(); configureCallback(configuration); Configure.Instance.Container.Bind <EventStorageConfiguration>(configuration); return(Configure.Instance); }
public static IConfigure UsingOracleEventStore(this IEventsConfiguration eventsConfiguration, Action <EventStoreConfiguration> configureCallback) { eventsConfiguration.EventStoreType = typeof(EventStore); var configuration = new EventStoreConfiguration(); configureCallback(configuration); Configure.Instance.Container.Bind(configuration); return(Configure.Instance); }
public static IConfigure UsingOracleEventStore(this IEventsConfiguration eventsConfiguration, string connectionString, Action <EventStoreConfiguration> configureCallback = null) { eventsConfiguration.EventStoreType = typeof(EventStore); var configuration = new EventStoreConfiguration { Connection = new OracleConnection(connectionString) }; if (configureCallback != null) { configureCallback(configuration); } Configure.Instance.Container.Bind(configuration); return(Configure.Instance); }
public static IConfigure UsingRavenDB(this IEventsConfiguration eventsConfiguration, Action <RegularEventStoreConfiguration> configureCallback) { eventsConfiguration.EventStoreType = typeof(EventStore); eventsConfiguration.EventSubscriptionsType = typeof(EventSubscriptions); var configuration = new RegularEventStoreConfiguration(); configureCallback(configuration); Configure.Instance.Container.Bind <IEventStoreConfiguration>(configuration); var eventSubscriptionsConfiguration = new RegularEventSubscriptionsConfiguration(); configuration.CopyTo(eventSubscriptionsConfiguration); Configure.Instance.Container.Bind <IEventSubscriptionsConfiguration>(eventSubscriptionsConfiguration); return(Configure.Instance); }
/// <summary> /// Configures the <see cref="IEventStore"/> /// </summary> /// <param name="eventsConfiguration"><see cref="IEventsConfiguration"/> to configure</param> /// <param name="path">Path to where the event store should live</param> /// <returns>Chained <see cref="IConfigure"/> for fluent configuration</returns> public static IConfigure UsingFiles(this IEventsConfiguration eventsConfiguration, string path) { eventsConfiguration.EventStoreType = typeof(EventStore); eventsConfiguration.EventSubscriptionsType = typeof(EventSubscriptions); eventsConfiguration.UncommittedEventStreamCoordinatorType = typeof(UncommittedEventStreamCoordinator); if (!Path.IsPathRooted(path)) { path = Path.Combine(Directory.GetCurrentDirectory(), path); } var configuration = new EventStoreConfiguration { Path = path }; Configure.Instance.Container.Bind <EventStoreConfiguration>(configuration); return(Configure.Instance); }