Beispiel #1
0
 public RedisSqlClient()
 {
     _queryEngine                = new RedisSqlQueryEngine();
     _creationEngine             = new RedisSqlCreationEngine();
     _lambdaExpressionTreeParser = new LambdaExpressionTreeParser();
     _projectionEngine           = new RedisSqlProjectionEngine();
     _insertionEngine            = new RedisSqlInsertionEngine();
     _deletionEngine             = new RedisSqlDeletionEngine();
     _updateEngine               = new RedisSqlUpdateEngine();
 }
Beispiel #2
0
        public CommitDispatcher(IStreamPersistence persistence,
                                IMessageDispatcher eventDispatcher,
                                IProjectionEngine projectionEngine,
                                IServiceProvider serviceProvider,
                                IOptions <DomainStorageOptions> optionsAccessor,
                                ILogger <CommitDispatcher> logger = null)
        {
            if (persistence == null)
            {
                throw new ArgumentNullException(nameof(persistence));
            }

            if (eventDispatcher == null)
            {
                throw new ArgumentNullException(nameof(eventDispatcher));
            }

            if (projectionEngine == null)
            {
                throw new ArgumentNullException(nameof(projectionEngine));
            }

            if (serviceProvider == null)
            {
                throw new ArgumentNullException(nameof(serviceProvider));
            }

            if (optionsAccessor == null)
            {
                throw new ArgumentNullException(nameof(optionsAccessor));
            }

            _persistence      = persistence;
            _eventDispatcher  = eventDispatcher;
            _projectionEngine = projectionEngine;
            _serviceProvider  = serviceProvider;
            _logger           = logger;
            _options          = optionsAccessor.Value ?? new DomainStorageOptions();

            _initializationHelper = new AsyncInitializationHelper(InitializeInternalAsync);
        }