示例#1
0
        public ProjectionSchema(IProjectionSchema schema)
        {
            if (schema.Type != typeof(T))
            {
                throw new InvalidOperationException();
            }

            _schema = schema;
        }
 public void Init(IProjectionSchema schema)
 {
     if (_schema == null || Equals(_schema, schema))
     {
         _schema = schema;
     }
     else
     {
         throw new InvalidOperationException();
     }
 }
 public ProjectionEventStream(IEventStoreFacade connection,
                              IEventConverter eventConveter,
                              IEventDataFactory eventDataFactory,
                              IProjectionSchema <TProjection> projectionSchema)
 {
     _connection           = connection;
     _eventConveter        = eventConveter;
     _eventDataFactory     = eventDataFactory;
     _projectionSchema     = projectionSchema;
     _projectionStreamName =
         $"{ServiceConventions.GetCategoryFromNamespace(typeof(TProjection).Namespace)}Projection";
 }
示例#4
0
        public DataPartitionStream(Guid partitionId,
                                   QueryEngine <TModel> engine,
                                   IProjectionSubscriptionController subscriptionController,
                                   IProjectionSchema schema,
                                   bool isRootPartition = false)
        {
            IsRootStream            = isRootPartition;
            PartitionId             = partitionId;
            _engine                 = engine;
            _subscriptionController = subscriptionController;
            _schema                 = schema;
            _associatedQueries      = new ConcurrentDictionary <IQuery, ILiveQuery>();

            _initTask = Initialize();
        }
示例#5
0
 public void Init(IProjectionSchema schema)
 {
     throw new NotImplementedException();
 }
 public EventAggregatorModelProjectionSubscriber(IEventAggregator eventAggregator,
                                                 IProjectionSchemaRegister projectionSchemaRegister)
 {
     _pubSubEvent = eventAggregator.GetEvent <PubSubEvent <ProjectionEvent <TProjection> > >();
     _schema      = projectionSchemaRegister.FindByModelType(typeof(TModel));
 }
示例#7
0
 public ProjectionExecutor(IProjectionSchemaRegister projectionSchema, IServiceProvider serviceProvider, ILogger logger)
 {
     _serviceProvider = serviceProvider;
     _logger          = logger;
     _schema          = projectionSchema.FindByModelType(typeof(TModel));
 }
示例#8
0
 public ProjectionEventHandlerFactory(IServiceProvider serviceProvider, IProjectionSchema schema) : base(serviceProvider)
 {
     _schema             = schema;
     SupportedEventTypes = new TypeCollection(_schema.Events);
 }