Esempio n. 1
0
        public FakeController(MongoConfigConditStrategy configConditsStrategy)
        {
            _configConditsStrategy = configConditsStrategy;

            _conditionDefined = new MongoStrategyParams {
                Database = "Condition", Collection = "Defined"
            };
        }
Esempio n. 2
0
        public async Task SetAsync(MongoStrategyParams strategyParams, List <Entity> entities)
        {
            await RemoveAsync(strategyParams);

            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            await MongoClient.GetDatabase(database).GetCollection <Entity>(collection).InsertManyAsync(entities);
        }
Esempio n. 3
0
        public Task RemoveAsync(MongoStrategyParams strategyParams)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var builder    = Builders <Entity> .Filter;
            var filter     = builder.Empty;

            return(MongoClient.GetDatabase(database).GetCollection <Entity>(collection).DeleteManyAsync(filter));
        }
Esempio n. 4
0
        public ConditionController(IMongoClient mongoClient, MongoTargetConfigConditStrategy configConditStrategy, MongoConfigConditStrategy configConditsStrategy)
        {
            _mongoClient           = mongoClient;
            _configConditStrategy  = configConditStrategy;
            _configConditsStrategy = configConditsStrategy;

            _conditionDefined = new MongoStrategyParams {
                Database = "Condition", Collection = "Defined"
            };
        }
Esempio n. 5
0
        public async Task PushAsync(MongoStrategyParams strategyParams, Entity history)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var filter     = Builders <Entity> .Filter.Empty;

            while ((await MongoClient.GetDatabase(database).GetCollection <Entity>(collection).CountDocumentsAsync(filter)) >= strategyParams.StackSize)
            {
                await DischargeAsync(strategyParams);
            }

            await MongoClient.GetDatabase(database).GetCollection <Entity>(collection).InsertOneAsync(history);
        }
Esempio n. 6
0
        public Task <List <Entity> > GetAsync(MongoStrategyParams strategyParams)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var builder    = Builders <Entity> .Filter;
            var filter     = builder.Empty;

            return(MongoClient
                   .GetDatabase(database)
                   .GetCollection <Entity>(collection)
                   .Find(filter)
                   .ToListAsync());
        }
Esempio n. 7
0
        public Task <Entity> PeekAsync(MongoStrategyParams strategyParams)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var builder    = Builders <Entity> .Filter;
            var filter     = builder.Empty;

            return(MongoClient
                   .GetDatabase(database)
                   .GetCollection <Entity>(collection)
                   .Find(filter)
                   .SortByDescending(c => c.Id)
                   .Limit(1)
                   .SingleAsync());
        }
Esempio n. 8
0
        public Task <Entity> PopAsync(MongoStrategyParams strategyParams)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var builder    = Builders <Entity> .Filter;
            var filter     = builder.Empty;
            var sort       = Builders <Entity> .Sort.Descending(f => f.Id);

            return(MongoClient
                   .GetDatabase(database)
                   .GetCollection <Entity>(collection)
                   .FindOneAndDeleteAsync(filter,
                                          new FindOneAndDeleteOptions <Entity, Entity>
            {
                Sort = sort
            }
                                          ));
        }
Esempio n. 9
0
        public async Task DischargeAsync(MongoStrategyParams strategyParams)
        {
            var database   = strategyParams.Database;
            var collection = strategyParams.Collection;
            var builder    = Builders <Entity> .Filter;
            var filter     = builder.Empty;
            var sort       = Builders <Entity> .Sort.Ascending(f => f.Id);

            var history = await MongoClient
                          .GetDatabase(database)
                          .GetCollection <Entity>(collection)
                          .FindOneAndDeleteAsync(filter,
                                                 new FindOneAndDeleteOptions <Entity, Entity>
            {
                Sort = sort
            }
                                                 );
        }
Esempio n. 10
0
        public HomeController(VisitorFactory visitorBuilderFactory, IMapper mapper, MongoComponentStrategy mongoComponentStrategy, RedisComponentStrategy redisComponentStrategy, MongoConfigConditStrategy mongoConfigConditsStrategy, RedisConfigConditStrategy redisConfigConditStrategy, MongoComponentHistoryStrategy componentHistoryStrategy, MongoConditionHistoryStrategy conditionHistoryStrategy)
        {
            _visitorFactory             = visitorBuilderFactory;
            _mapper                     = mapper;
            _mongoComponentStrategy     = mongoComponentStrategy;
            _redisComponentStrategy     = redisComponentStrategy;
            _mongoConfigConditsStrategy = mongoConfigConditsStrategy;
            _redisConfigConditsStrategy = redisConfigConditStrategy;
            _componentHistoryStrategy   = componentHistoryStrategy;
            _conditionHistoryStrategy   = conditionHistoryStrategy;

            _componentHome = new MongoStrategyParams {
                Database = "Component", Collection = "Home"
            };
            _conditionDefined = new MongoStrategyParams {
                Database = "Condition", Collection = "Defined"
            };
            _componentHistoryHomeUndo = new MongoStrategyParams {
                Database = "ComponentHistory", Collection = "HomeUndo", StackSize = 10
            };
            _componentHistoryHomeRedo = new MongoStrategyParams {
                Database = "ComponentHistory", Collection = "HomeRedo", StackSize = 10
            };
            _conditionHistoryHomeUndo = new MongoStrategyParams {
                Database = "ConditionHistory", Collection = "DefinedUndo", StackSize = 10
            };
            _conditionHistoryHomeRedo = new MongoStrategyParams {
                Database = "ConditionHistory", Collection = "DefinedRedo", StackSize = 10
            };
            _cacheHome = new RedisStrategyParams {
                Cachekey = "Home"
            };
            _cacheCondit = new RedisStrategyParams {
                Cachekey = "DefinedCondition"
            };
        }