public FakeController(MongoConfigConditStrategy configConditsStrategy) { _configConditsStrategy = configConditsStrategy; _conditionDefined = new MongoStrategyParams { Database = "Condition", Collection = "Defined" }; }
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); }
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)); }
public ConditionController(IMongoClient mongoClient, MongoTargetConfigConditStrategy configConditStrategy, MongoConfigConditStrategy configConditsStrategy) { _mongoClient = mongoClient; _configConditStrategy = configConditStrategy; _configConditsStrategy = configConditsStrategy; _conditionDefined = new MongoStrategyParams { Database = "Condition", Collection = "Defined" }; }
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); }
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()); }
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()); }
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 } )); }
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 } ); }
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" }; }