public static void BindAzureReposInMem(this IoC ioc) { var localHost = @"http://127.0.0.1:8998"; ioc.Register <IClientAccountsRepository>( new ClientsRepository( new AzureTableStorageLocal <ClientAccountEntity>(localHost, "Clients"), new AzureTableStorageLocal <AzureIndex>(localHost, "Clients"))); ioc.Register <IPersonalDataRepository>( new PersonalDataRepository(new AzureTableStorageLocal <PersonalDataEntity>(localHost, "PersonalData"))); ioc.Register <IKycRepository>( new KycRepository(new AzureTableStorageLocal <KycEntity>(localHost, "KycRepository"))); ioc.Register <IKycDocumentsRepository>( new KycDocumentsRepository(new AzureTableStorageLocal <KycDocumentEntity>(localHost, "KycDocumentsRepository"))); ioc.Register <IKycDocumentsScansRepository>( new KycDocumentsScansRepository(new AzureBlobLocal(localHost))); ioc.Register <IKycUploadsLog>( new KycUploadsLog(new AzureTableStorageLocal <KycUploadsLogItemEntity>(localHost, "KycUploadsLog"))); ioc.Register <IBalanceRepository>( new BalanceRepository(new AzureTableStorageLocal <TraderBalanceEntity>(localHost, "BalanceRepository"))); ioc.Register <IIdentityGenerator>( new IdentityGenerator(new AzureTableStorageLocal <IdentityEntity>(localHost, "IdentityGenerator"))); ioc.Register <IOrdersRepository>( new OrdersRepository(new AzureTableStorageLocal <OrderEntity>(localHost, "OrdersRepository"))); ioc.Register <IClientSettingsRepository>( new ClientSettingsRepository(new AzureTableStorageLocal <ClientSettingsEntity>(localHost, "ClientSettingsRepository"))); var assetsRepositry = new AssetsRepository(new AzureTableStorageLocal <AssetEntity>(localHost, "AssetsRepository")); assetsRepositry.PopulateAssets(); ioc.Register <IAssetsRepository>(assetsRepositry); var assetPairsRepository = new AssetPairsRepository(new AzureTableStorageLocal <AssetPairEntity>(localHost, "AssetPairsRepository")); assetPairsRepository.PopulateAssetPairsRepository(); ioc.Register <IAssetPairsRepository>(assetPairsRepository); ioc.Register <IBrowserSessionsRepository>( new BrowserSessionsRepository(new AzureTableStorageLocal <BrowserSessionEntity>(localHost, "BrowserSessionsRepository"))); ioc.Register <IMenuBadgesRepository>( new MenuBadgesRepository(new AzureTableStorageLocal <MenuBadgeEntity>(localHost, "MenuBadgesRepository"))); ioc.Register <IAccountsRepository>( new AccountsRepository(new AzureTableStorageLocal <AccountEntity>(localHost, "Accounts"))); ioc.Register <IPinSecurityRepository>( new PinSecurityRepository(new AzureTableStorageLocal <PinSecurityEntity>(localHost, "ClientPins"))); }
public static void BindAzureReposInMemForTests(this IoC ioc) { ioc.Register <IClientAccountsRepository>( new ClientsRepository( new NoSqlTableInMemory <ClientAccountEntity>(), new NoSqlTableInMemory <AzureIndex>())); ioc.Register <IPersonalDataRepository>( new PersonalDataRepository(new NoSqlTableInMemory <PersonalDataEntity>())); ioc.Register <IKycRepository>( new KycRepository(new NoSqlTableInMemory <KycEntity>())); ioc.Register <IKycDocumentsRepository>( new KycDocumentsRepository(new NoSqlTableInMemory <KycDocumentEntity>())); ioc.Register <IKycDocumentsScansRepository>( new KycDocumentsScansRepository(new AzureBlobInMemory())); ioc.Register <IKycUploadsLog>( new KycUploadsLog(new NoSqlTableInMemory <KycUploadsLogItemEntity>())); ioc.Register <IBalanceRepository>( new BalanceRepository(new NoSqlTableInMemory <TraderBalanceEntity>())); ioc.Register <IIdentityGenerator>( new IdentityGenerator(new NoSqlTableInMemory <IdentityEntity>())); ioc.Register <IOrdersRepository>( new OrdersRepository(new NoSqlTableInMemory <OrderEntity>())); ioc.Register <IClientSettingsRepository>( new ClientSettingsRepository(new NoSqlTableInMemory <ClientSettingsEntity>())); var assetsRepositry = new AssetsRepository(new NoSqlTableInMemory <AssetEntity>()); assetsRepositry.PopulateAssets(); ioc.Register <IAssetsRepository>(assetsRepositry); var assetPairsRepository = new AssetPairsRepository(new NoSqlTableInMemory <AssetPairEntity>()); assetPairsRepository.PopulateAssetPairsRepository(); ioc.Register <IAssetPairsRepository>(assetPairsRepository); ioc.Register <IBrowserSessionsRepository>( new BrowserSessionsRepository(new NoSqlTableInMemory <BrowserSessionEntity>())); ioc.Register <IMenuBadgesRepository>( new MenuBadgesRepository(new NoSqlTableInMemory <MenuBadgeEntity>())); ioc.Register <IAccountsRepository>( new AccountsRepository(new NoSqlTableInMemory <AccountEntity>())); ioc.Register <IPinSecurityRepository>( new PinSecurityRepository(new NoSqlTableInMemory <PinSecurityEntity>())); }
public void ConfigureServices(ContainerBuilder builder, ILog log) { var mq = settings.FeedCandlesHistoryWriterBroker.RabbitMq; RabbitMqSubscriberSettings subscriberSettings = new RabbitMqSubscriberSettings() { ConnectionString = $"amqp://{mq.Username}:{mq.Password}@{mq.Host}:{mq.Port}", QueueName = mq.QuoteFeed + ".candleshistorywriter", ExchangeName = mq.QuoteFeed, IsDurable = true }; var dictRepo = new AssetPairsRepository(new AzureTableStorage <AssetPairEntity>( settings.FeedCandlesHistoryWriterBroker.ConnectionStrings.DictsConnectionString, settings.FeedCandlesHistoryWriterBroker.DictionaryTableName, log)); var env = new Environment(dictRepo, log, ApplicationName); var subscriber = new RabbitMqSubscriber <Quote>(subscriberSettings); this.controller = new CandleGenerationController(log, ApplicationName, env); this.monitor = new QueueMonitor(log, this.controller, settings.FeedCandlesHistoryWriterBroker.QueueWarningSize, ApplicationName); this.broker = new Broker(subscriber, log, this.controller, ApplicationName); builder.Register(c => new CandleHistoryRepositoryResolver((asset, tableName) => { string connString; if (!settings.CandleHistoryAssetConnections.TryGetValue(asset, out connString) || string.IsNullOrEmpty(connString)) { throw new AppSettingException(string.Format("Connection string for asset pair '{0}' is not specified.", asset)); } var storage = new AzureTableStorage <CandleTableEntity>(connString, tableName, log); // Preload table info var res = storage.GetDataAsync(asset, "1900-01-01").Result; return(storage); })).As <ICandleHistoryRepository>(); builder.RegisterInstance(subscriber) .As <IStartable>() .As <IStopable>(); builder.RegisterInstance(this.controller) .As <IStartable>() .As <IStopable>(); builder.RegisterInstance(this.monitor) .As <IStartable>() .As <IStopable>(); builder.RegisterInstance(this.broker) .As <IStartable>() .As <IStopable>() .As <IPersistent>(); }