public EventStoreHubInitializer(IEventStoreFacade connection, IHubContext <EventStoreHub> hubConnection, ILogger logger, IEventConverter eventConveter, IProjectionSchemaRegister projectionSchema) { this._connection = connection; this._hubConnection = hubConnection; this._logger = logger; this._eventConverter = eventConveter; this._projectionSchema = projectionSchema; }
public InMemoryEventStream(IEventAggregator aggregator, IProjectionSchemaRegister projectionSchema) { _aggregator = aggregator; _events = new List <EventEnvelope>(); var mth = this.GetType().GetMethod(nameof(SubscribeCore), BindingFlags.Instance | BindingFlags.NonPublic); foreach (var t in projectionSchema.Events) { mth.MakeGenericMethod(t).Invoke(this, Array.Empty <object>()); } }
public static async Task BindToSignalHub(this IEventStoreFacade connection, IEventConverter eventConverter, IProjectionSchemaRegister projectionSchema, IHubContext <EventStoreHub> hubConnection, Serilog.ILogger logger) { foreach (var e in projectionSchema.Events) { var configuratorType = typeof(SignalRConfigurator <>).MakeGenericType(e); var configurator = Ctor <ISignalRConfigurator> .Create(configuratorType); await configurator.Configure(connection, eventConverter, hubConnection, logger); } }
public QueryEngine(IServiceProvider serviceProvider, IQuerySchemaRegister querySchemaRegister, IProjectionSchemaRegister projectionSchemaRegister, IProjectionSubscriptionController subscriptionController) { _serviceProvider = serviceProvider; _querySchemaRegister = querySchemaRegister; _projectionSchemaRegister = projectionSchemaRegister; _subscriptionController = subscriptionController; _liveQueries = new ConcurrentDictionary <IQuery, ILiveQuery>(); _partitions = new ConcurrentDictionary <Guid, DataPartitionStream <TModel> >(); Log.Debug("QueryEngine for model {modelName} created.", typeof(TModel).Name); }
public EventAggregatorModelProjectionSubscriber(IEventAggregator eventAggregator, IProjectionSchemaRegister projectionSchemaRegister) { _pubSubEvent = eventAggregator.GetEvent <PubSubEvent <ProjectionEvent <TProjection> > >(); _schema = projectionSchemaRegister.FindByModelType(typeof(TModel)); }
public ProjectionExecutor(IProjectionSchemaRegister projectionSchema, IServiceProvider serviceProvider, ILogger logger) { _serviceProvider = serviceProvider; _logger = logger; _schema = projectionSchema.FindByModelType(typeof(TModel)); }