Example #1
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType <HealthService>()
            .As <IHealthService>()
            .SingleInstance();

            builder.RegisterType <ClientAccountLogic>()
            .AsSelf()
            .SingleInstance();

            builder.RegisterInstance(_settings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.FeeSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.IcoSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.GlobalSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.KycServiceClient).SingleInstance();

            builder.RegisterInstance(_log).As <ILog>().SingleInstance();

            builder.RegisterRateCalculatorClient(_settings.Services.RateCalculatorServiceApiUrl, _log);
            builder.RegisterBalancesClient(_settings.Services.BalancesServiceUrl, _log);

            builder.RegisterInstance(new DeploymentSettings());
            builder.RegisterInstance(_settings.DeploymentSettings);
            builder.RegisterInstance <IAssetsService>(
                new AssetsService(new Uri(_settings.Services.AssetsServiceUrl)));

            _services.AddSingleton <ClientAccountLogic>();

            _services.AddSingleton <ICandlesHistoryServiceProvider>(x =>
            {
                var provider = new CandlesHistoryServiceProvider();

                provider.RegisterMarket(MarketType.Spot, _settings.Services.CandleHistorySpotUrl);
                if (!_settings.IsMtDisabled.HasValue || !_settings.IsMtDisabled.Value)
                {
                    provider.RegisterMarket(MarketType.Mt, _settings.Services.CandleHistoryMtUrl);
                }

                return(provider);
            });

            builder.RegisterType <RequestContext>().As <IRequestContext>().InstancePerLifetimeScope();
            builder.RegisterType <LykkePrincipal>().As <ILykkePrincipal>().InstancePerLifetimeScope();
            //TODO change to v2
            builder.RegisterType <MemoryCacheManager>().As <ICacheManager>();
            builder.RegisterType <CountryPhoneCodeService>().As <ICountryPhoneCodeService>();

            builder.RegisterType <AssetsHelper>().As <IAssetsHelper>().SingleInstance();

            builder.RegisterType <SrvBlockchainHelper>().As <ISrvBlockchainHelper>().SingleInstance();
            builder.RegisterType <Google2FaService>().SingleInstance();

            BindServices(builder, _settings);

            builder.Populate(_services);
        }
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterType <HealthService>()
            .As <IHealthService>()
            .SingleInstance();

            builder.RegisterInstance(_settings.CurrentValue).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.FeeSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.IcoSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.GlobalSettings).SingleInstance();
            builder.RegisterInstance(_apiSettings.CurrentValue.KycServiceClient).SingleInstance();

            builder.RegisterInstance(_log).As <ILog>().SingleInstance();

            builder.RegisterRateCalculatorClient(_settings.CurrentValue.Services.RateCalculatorServiceApiUrl, _log);

            builder.RegisterBalancesClient(_settings.CurrentValue.Services.BalancesServiceUrl, _log);

            builder.RegisterInstance(new DeploymentSettings());

            builder.RegisterInstance(_settings.CurrentValue.DeploymentSettings);

            builder.RegisterInstance <IAssetsService>(
                new AssetsService(new Uri(_settings.CurrentValue.Services.AssetsServiceUrl)));

            builder.RegisterType <ClientAccountLogic>().AsSelf().SingleInstance();

            _services.AddSingleton <ICandlesHistoryServiceProvider>(x =>
            {
                var provider = new CandlesHistoryServiceProvider();

                provider.RegisterMarket(MarketType.Spot, _settings.CurrentValue.Services.CandleHistorySpotUrl);
                provider.RegisterMarket(MarketType.Mt, _settings.CurrentValue.Services.CandleHistoryMtUrl);

                return(provider);
            });

            builder.RegisterType <RequestContext>().As <IRequestContext>().InstancePerLifetimeScope();

            builder.RegisterType <LykkePrincipal>().As <ILykkePrincipal>().InstancePerLifetimeScope();

            RegisterDictionaryEntities(builder);

            builder.RegisterType <AssetsHelper>().As <IAssetsHelper>().SingleInstance();

            BindServices(builder, _settings, _log);
            builder.Populate(_services);
        }