public MarketStateCollection(string fixtureId, IUpdatableMarketStateCollection collection) : this(fixtureId) { if (collection == null) { return; } Sport = collection.Sport; // this is just for creating the nodes foreach (var mkt_id in collection.Markets) { _States[mkt_id] = null; } ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }; // fill the nodes and as they are already created, there is no race-condition here Parallel.ForEach(collection.Markets, options, x => { _States[x] = ((IUpdatableMarketState)collection[x]).Clone(); } ); }
public MarketStateCollection(string fixtureId, IUpdatableMarketStateCollection collection) : this(fixtureId) { if (collection == null) return; Sport = collection.Sport; // this is just for creating the nodes foreach (var mkt_id in collection.Markets) { _States[mkt_id] = null; } ParallelOptions options = new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }; // fill the nodes and as they are already created, there is no race-condition here Parallel.ForEach(collection.Markets, options, x => { _States[x] = ((IUpdatableMarketState)collection[x]).Clone(); } ); }
public void CommitChanges() { if (_currentTransaction == null) return; _logger.DebugFormat("Committing changes made to the market state for fixtureId={0}",_fixtureId); _currentTransaction.CommitChanges(); _stateProvider.SetObject(_fixtureId, _currentTransaction); _currentTransaction = null; }
public void CommitChanges() { if (_currentTransaction == null) { return; } _logger.DebugFormat("Committing changes made to the market state for fixtureId={0}", _fixtureId); _currentTransaction.CommitChanges(); _stateProvider.SetObject(_fixtureId, _currentTransaction); _currentTransaction = null; }
public void WhenMarketFiltersAreInitiated() { _marketsCache = null; _fixture.Markets.Clear(); _fixture.Markets.AddRange(_markets); var objectProviderMock = new Mock<IStoredObjectProvider>(); objectProviderMock.Setup(x => x.GetObject(It.IsAny<string>())).Returns(() => _marketsCache); objectProviderMock.Setup(x => x.SetObject(It.IsAny<string>(), It.IsAny<IUpdatableMarketStateCollection>())) .Callback<string, IUpdatableMarketStateCollection>((s, newState) => _marketsCache = newState); List<IMarketRule> rules = new List<IMarketRule> { InactiveMarketsFilteringRule.Instance, DeletedMarketsRule.Instance, VoidUnSettledMarket.Instance }; _marketFilters = new MarketRulesManager(_fixture.Id, objectProviderMock.Object, rules); }
private void BeginTransaction(IUpdatableMarketStateCollection oldState, Fixture fixture) { // get a new market state by cloning the previous one // and then updating it with the new info coming within // the snapshot bool fullSnapshot = fixture.Tags != null && fixture.Tags.Any(); _logger.DebugFormat("Start transaction for fixtureId={0} - tags will {1}be updated", fixture.Id, (fullSnapshot ? "" : "not ")); var clone = new MarketStateCollection(fixture.Id, oldState); clone.Update(fixture, fullSnapshot); _currentTransaction = clone; }
public void WhenMarketFiltersAreInitiated() { _marketsCache = null; _fixture.Markets.Clear(); _fixture.Markets.AddRange(_markets); var objectProviderMock = new Mock <IStoredObjectProvider>(); objectProviderMock.Setup(x => x.GetObject(It.IsAny <string>())).Returns(() => _marketsCache); objectProviderMock.Setup(x => x.SetObject(It.IsAny <string>(), It.IsAny <IUpdatableMarketStateCollection>())) .Callback <string, IUpdatableMarketStateCollection>((s, newState) => _marketsCache = newState); List <IMarketRule> rules = new List <IMarketRule> { InactiveMarketsFilteringRule.Instance, DeletedMarketsRule.Instance, VoidUnSettledMarket.Instance }; _marketFilters = new MarketRulesManager(_fixture.Id, objectProviderMock.Object, rules); }
public void SetUp() { _marketStorage = null; _objectProvider = null; SetUpSnapshotAndMarkets(); var objectProviderMock = new Mock<IStoredObjectProvider>(); // if there's a better way of assigning parameter let me know objectProviderMock.Setup(x => x.SetObject(It.IsAny<string>(), It.IsAny<IUpdatableMarketStateCollection>())) .Callback<string, IUpdatableMarketStateCollection>((s, newState) => _marketStorage = newState); objectProviderMock.Setup(x => x.GetObject(It.IsAny<string>())).Returns(() => _marketStorage); _objectProvider = objectProviderMock.Object; }
public void SetObject(string fixtureId, IUpdatableMarketStateCollection state) { _persistanceLayer.SetObject(fixtureId, state); }
public void RollbackChanges() { _logger.DebugFormat("Rolling back changes for fixtureId={0}", _fixtureId); _currentTransaction = null; }