Esempio n. 1
0
        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);
 }
Esempio n. 3
0
 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);
 }
Esempio n. 6
0
 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;
 }
Esempio n. 7
0
 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;
 }
Esempio n. 10
0
 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();
        }
Esempio n. 12
0
 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;
 }
Esempio n. 15
0
 public AssetPairsDictionary(IAssetPairsRepository assetPairsRepository, ILog log)
     : base("AssetPairsDictionary", 5 * 60000, log)
 {
     _assetPairsRepository = assetPairsRepository;
 }
Esempio n. 16
0
 public AssetPairsController(IConvertService convertService,
                             IAssetPairsRepository assetPairsRepository)
 {
     _convertService       = convertService;
     _assetPairsRepository = assetPairsRepository;
 }
Esempio n. 17
0
 public SrvOrderBookBuilder(IAssetPairsRepository assetPairsRepository, IActiveLimitOrdersRepository activeLimitOrdersRepository)
 {
     _assetPairsRepository        = assetPairsRepository;
     _activeLimitOrdersRepository = activeLimitOrdersRepository;
 }
Esempio n. 18
0
        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;
 }
Esempio n. 20
0
 public AssetPairsController(IAssetsRepository assetsRepository,
                             IAssetPairsRepository assetPairsRepository)
 {
     _assetsRepository     = assetsRepository;
     _assetPairsRepository = assetPairsRepository;
 }