public static async Task <IAssetPair> GetAsync(this IAssetPairsRepository assetPairsRepository, string assetId1, string assetId2) { var assetPairs = await assetPairsRepository.GetAllAsync(); return(assetPairs.FirstOrDefault(itm => (itm.BaseAssetId == assetId1 && itm.QuotingAssetId == assetId2) || (itm.BaseAssetId == assetId2 && itm.QuotingAssetId == assetId1))); }
public StartupManager( IAssetPairsRepository repository, IAssetPairsCacheService cacheService, ILogFactory logFactory) { _repository = repository; _cacheService = cacheService; _log = logFactory.CreateLog(this); }
public AssetPairFlagsCommandsHandler( IAssetPairsRepository assetPairsRepository, IConvertService convertService, IChaosKitty chaosKitty) { _assetPairsRepository = assetPairsRepository; _convertService = convertService; _chaosKitty = chaosKitty; }
public MarketProfileManager( ILog log, ApplicationSettings.MarketProfileServiceSettings settings, IAssetPairsCacheService cacheService, IAssetPairsRepository repository) { _log = log; _settings = settings; _cacheService = cacheService; _repository = repository; }
public PersistHandler( TimeSpan persistPeriod, IMyNoSqlWriterWrapper <AssetPairPriceNoSql> myNoSqlWriterWrapper, IAssetPairsCacheService cacheService, IAssetPairsRepository repository, ILogFactory logFactory ) { _persistPeriod = persistPeriod; _myNoSqlWriterWrapper = myNoSqlWriterWrapper; _cacheService = cacheService; _repository = repository; _log = logFactory.CreateLog(this); }
public TradingRoutesController( IAssetsRepository assetsRepository, ITradingRoutesRepository tradingRoutesRepository, ITradingConditionsRepository tradingConditionsRepository, IAssetPairsRepository assetPairsRepository, IConvertService convertService, IEventSender eventSender) { _assetsRepository = assetsRepository; _tradingRoutesRepository = tradingRoutesRepository; _tradingConditionsRepository = tradingConditionsRepository; _assetPairsRepository = assetPairsRepository; _convertService = convertService; _eventSender = eventSender; }
public ScheduleSettingsController( IScheduleSettingsRepository scheduleSettingsRepository, IMarketRepository marketRepository, IAssetPairsRepository assetPairsRepository, IMarketDayOffService marketDayOffService, IConvertService convertService, IEventSender eventSender) { _scheduleSettingsRepository = scheduleSettingsRepository; _marketRepository = marketRepository; _assetPairsRepository = assetPairsRepository; _marketDayOffService = marketDayOffService; _convertService = convertService; _eventSender = eventSender; }
public AssetPairsController( IAssetsRepository assetsRepository, IAssetPairsRepository assetPairsRepository, IMarketRepository marketRepository, IConvertService convertService, IEventSender eventSender, ICqrsMessageSender cqrsMessageSender, DefaultLegalEntitySettings defaultLegalEntitySettings) { _assetsRepository = assetsRepository; _assetPairsRepository = assetPairsRepository; _marketRepository = marketRepository; _convertService = convertService; _eventSender = eventSender; _cqrsMessageSender = cqrsMessageSender; _defaultLegalEntitySettings = defaultLegalEntitySettings; }
public TradingInstrumentsController( IAssetsRepository assetsRepository, IAssetPairsRepository assetPairsRepository, ITradingConditionsRepository tradingConditionsRepository, ITradingInstrumentsRepository tradingInstrumentsRepository, ITradingService tradingService, IConvertService convertService, IEventSender eventSender, DefaultTradingInstrumentSettings defaultTradingInstrumentSettings) { _assetsRepository = assetsRepository; _assetPairsRepository = assetPairsRepository; _tradingConditionsRepository = tradingConditionsRepository; _tradingInstrumentsRepository = tradingInstrumentsRepository; _tradingService = tradingService; _convertService = convertService; _eventSender = eventSender; _defaultTradingInstrumentSettings = defaultTradingInstrumentSettings; }
public DictionariesController(IAssetPairsRepository assetPairsRepository, IConvertService convertService) { _assetPairsRepository = assetPairsRepository; _convertService = convertService; }
static async Task Main(string[] args) { Console.WriteLine("Settings migration service."); var sqlConnStr = Environment.GetEnvironmentVariable("SqlConnectionString"); var azureConnStr = Environment.GetEnvironmentVariable("AzureConnString"); if (string.IsNullOrWhiteSpace(sqlConnStr) || string.IsNullOrWhiteSpace(azureConnStr)) { Console.WriteLine("First set env vars: SqlConnectionString, AzureConnString. Press any key to exit."); Console.ReadKey(); return; } Console.WriteLine("Data in the destination will remain, errors will be skipped."); Console.WriteLine("Please select option:"); Console.WriteLine("1. From Azure to SQL (1)"); Console.WriteLine("2. From SQL to Azure (2)"); Console.WriteLine(">>>"); var option = ""; while (true) { option = Console.ReadLine()?.Trim(); if (option == "1" || option == "2") { break; } Console.WriteLine("Wrong choice, try again"); } var convertService = new ConvertService(); var azureRm = ConstantReloadingManager.From(azureConnStr); var fakeLogger = new AggregateLogger(); var assetsRepos = new IAssetsRepository[] { new AzureRepos.AssetsRepository(fakeLogger, convertService, azureRm), new SqlRepos.AssetsRepository(convertService, sqlConnStr, fakeLogger), }; var assetPairsRepos = new IAssetPairsRepository[] { new AzureRepos.AssetPairsRepository(fakeLogger, convertService, azureRm), new SqlRepos.AssetPairsRepository(convertService, sqlConnStr, fakeLogger), }; var marketsRepos = new IMarketRepository[] { new AzureRepos.MarketRepository(fakeLogger, convertService, azureRm), new SqlRepos.MarketRepository(convertService, sqlConnStr, fakeLogger), }; var scheduleSettingsRepos = new IScheduleSettingsRepository[] { new AzureRepos.ScheduleSettingsRepository(fakeLogger, convertService, azureRm), new SqlRepos.ScheduleSettingsRepository(convertService, sqlConnStr, fakeLogger), }; var tradingConditionsRepos = new ITradingConditionsRepository[] { new AzureRepos.TradingConditionsRepository(fakeLogger, convertService, azureRm), new SqlRepos.TradingConditionsRepository(convertService, sqlConnStr, fakeLogger), }; var tradingInstrumentsRepos = new ITradingInstrumentsRepository[] { new AzureRepos.TradingInstrumentsRepository(fakeLogger, convertService, azureRm), new SqlRepos.TradingInstrumentsRepository(convertService, sqlConnStr, fakeLogger), }; var tradingRoutesRepos = new ITradingRoutesRepository[] { new AzureRepos.TradingRoutesRepository(fakeLogger, convertService, azureRm), new SqlRepos.TradingRoutesRepository(convertService, sqlConnStr, fakeLogger), }; if (option == "2") { assetsRepos = assetsRepos.Reverse().ToArray(); assetPairsRepos = assetPairsRepos.Reverse().ToArray(); marketsRepos = marketsRepos.Reverse().ToArray(); scheduleSettingsRepos = scheduleSettingsRepos.Reverse().ToArray(); tradingConditionsRepos = tradingConditionsRepos.Reverse().ToArray(); tradingInstrumentsRepos = tradingInstrumentsRepos.Reverse().ToArray(); tradingRoutesRepos = tradingRoutesRepos.Reverse().ToArray(); } var assets = await assetsRepos.First().GetAsync(); var assetsSucceeded = 0; foreach (var asset in assets) { if (await assetsRepos.Last().TryInsertAsync(asset)) { assetsSucceeded++; } } Console.WriteLine($"Assets succeeded: {assetsSucceeded}, failed: {assets.Count - assetsSucceeded}."); var assetPairs = await assetPairsRepos.First().GetAsync(); var assetPairsSucceeded = 0; foreach (var assetPair in assetPairs) { if (await assetPairsRepos.Last().InsertAsync(assetPair) != null) { assetPairsSucceeded++; } } Console.WriteLine($"Asset pairs succeeded: {assetPairsSucceeded}, failed: {assetPairs.Count - assetPairsSucceeded}."); var markets = await marketsRepos.First().GetAsync(); var marketsSucceeded = 0; foreach (var market in markets) { if (await marketsRepos.Last().TryInsertAsync(market)) { marketsSucceeded++; } } Console.WriteLine($"Markets succeeded: {marketsSucceeded}, failed: {markets.Count - marketsSucceeded}."); var scheduleSettings = await scheduleSettingsRepos.First().GetFilteredAsync(); var scheduleSettingsSucceeded = 0; foreach (var scheduleSetting in scheduleSettings) { if (await scheduleSettingsRepos.Last().TryInsertAsync(scheduleSetting)) { scheduleSettingsSucceeded++; } } Console.WriteLine($"Schedule settings succeeded: {scheduleSettingsSucceeded}, failed: {scheduleSettings.Count - scheduleSettingsSucceeded}."); var tradingConditions = await tradingConditionsRepos.First().GetAsync(); var tradingConditionsSucceeded = 0; foreach (var tradingCondition in tradingConditions) { if (await tradingConditionsRepos.Last().TryInsertAsync(tradingCondition)) { tradingConditionsSucceeded++; } } Console.WriteLine($"Trading conditions succeeded: {tradingConditionsSucceeded}, failed: {tradingConditions.Count - tradingConditionsSucceeded}."); var tradingInstruments = await tradingInstrumentsRepos.First().GetAsync(); var tradingInstrumentsSucceeded = 0; foreach (var tradingInstrument in tradingInstruments) { if (await tradingInstrumentsRepos.Last().TryInsertAsync(tradingInstrument)) { tradingInstrumentsSucceeded++; } } Console.WriteLine($"Trading instruments succeeded: {tradingInstrumentsSucceeded}, failed: {tradingInstruments.Count - tradingInstrumentsSucceeded}."); var tradingRoutes = await tradingRoutesRepos.First().GetAsync(); var tradingRoutesSucceeded = 0; foreach (var tradingRoute in tradingRoutes) { if (await tradingRoutesRepos.Last().TryInsertAsync(tradingRoute)) { tradingRoutesSucceeded++; } } Console.WriteLine($"Trading routes succeeded: {tradingRoutesSucceeded}, failed: {tradingRoutes.Count - tradingRoutesSucceeded}."); Console.WriteLine("Finished! Press any key to exit."); Console.ReadKey(); }
public AssetPairsManager(IAssetPairsInitializableCache assetPairsCache, IAssetPairsRepository assetPairsRepository) { _assetPairsCache = assetPairsCache; _assetPairsRepository = assetPairsRepository; }
public AssetPairsDictionary(IAssetPairsRepository assetPairsRepository, ILog log) : base("AssetPairsDictionary", 5*60000, log) { _assetPairsRepository = assetPairsRepository; }
public Environment(IAssetPairsRepository repo, ILog log, string componentName) { this.log = log; this.repo = repo; this.componentName = componentName; }
public AssetPairsDictionary(IAssetPairsRepository assetPairsRepository, ILog log) : base("AssetPairsDictionary", 5 * 60000, log) { _assetPairsRepository = assetPairsRepository; }
public AssetPairsController(IConvertService convertService, IAssetPairsRepository assetPairsRepository) { _convertService = convertService; _assetPairsRepository = assetPairsRepository; }
public SrvOrderBookBuilder(IAssetPairsRepository assetPairsRepository, IActiveLimitOrdersRepository activeLimitOrdersRepository) { _assetPairsRepository = assetPairsRepository; _activeLimitOrdersRepository = activeLimitOrdersRepository; }
private static void PopulateAssetPairsRepository(this IAssetPairsRepository assetsRepository) { assetsRepository.AddAsync(new AssetPair { Id = "AUDNZD", BaseAssetId = "AUD", QuotingAssetId = "NZD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "AUDCAD", BaseAssetId = "AUD", QuotingAssetId = "CAD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "AUDCHF", BaseAssetId = "AUD", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "AUDJPY", BaseAssetId = "AUD", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "AUDUSD", BaseAssetId = "AUD", QuotingAssetId = "USD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "CADCHF", BaseAssetId = "CAD", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "CADJPY", BaseAssetId = "CAD", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "CHFJPY", BaseAssetId = "CHF", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "EURAUD", BaseAssetId = "EUR", QuotingAssetId = "AUD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "EURCAD", BaseAssetId = "EUR", QuotingAssetId = "CAD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "EURCHF", BaseAssetId = "EUR", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "EURGBP", BaseAssetId = "EUR", QuotingAssetId = "GBP", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "EURJPY", BaseAssetId = "EUR", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "EURNZD", BaseAssetId = "EUR", QuotingAssetId = "NZD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "EURUSD", BaseAssetId = "EUR", QuotingAssetId = "USD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPAUD", BaseAssetId = "GBP", QuotingAssetId = "AUD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPCAD", BaseAssetId = "GBP", QuotingAssetId = "CAD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPCHF", BaseAssetId = "GBP", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPJPY", BaseAssetId = "GBP", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPNZD", BaseAssetId = "GBP", QuotingAssetId = "NZD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "GBPUSD", BaseAssetId = "GBP", QuotingAssetId = "USD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "NZDCAD", BaseAssetId = "NZD", QuotingAssetId = "CAD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "NZDCHF", BaseAssetId = "NZD", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "NZDJPY", BaseAssetId = "NZD", QuotingAssetId = "JPY", Accuracy = 3 }); assetsRepository.AddAsync(new AssetPair { Id = "NZDUSD", BaseAssetId = "NZD", QuotingAssetId = "USD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "USDCAD", BaseAssetId = "USD", QuotingAssetId = "CAD", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "USDCHF", BaseAssetId = "USD", QuotingAssetId = "CHF", Accuracy = 5 }); assetsRepository.AddAsync(new AssetPair { Id = "USDJPY", BaseAssetId = "USD", QuotingAssetId = "JPY", Accuracy = 3 }); }
public AssetPairsController(IAssetsRepository assetsRepository, IAssetPairsRepository assetPairsRepository) { _assetsRepository = assetsRepository; _assetPairsRepository = assetPairsRepository; }