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>()));
        }