Beispiel #1
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterInstance(_settings)
            .SingleInstance();

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

            builder.RegisterType <HealthService>()
            .As <IHealthService>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(TimeSpan.FromSeconds(30)));


            var merchantPayRequestRepository =
                new MerchantPayRequestRepository(
                    new AzureTableStorage <MerchantPayRequest>(_settings.Db.MerchantPayRequestConnectionString, "MerchantPayRequest", null));

            builder.RegisterInstance(merchantPayRequestRepository)
            .As <IMerchantPayRequestRepository>()
            .SingleInstance();

            var bitcoinAggRepository = new BitcoinAggRepository(
                new AzureTableStorage <BitcoinAggEntity>(
                    _settings.Db.MerchantPayRequestConnectionString, "BitcoinAgg",
                    null),
                new AzureTableStorage <BitcoinHeightEntity>(
                    _settings.Db.MerchantPayRequestConnectionString, "BitcoinHeight",
                    null));

            builder.RegisterInstance(bitcoinAggRepository)
            .As <IBitcoinAggRepository>()
            .SingleInstance();

            var merchantOrderRequestRepository =
                new MerchantOrderRequestRepository(
                    new AzureTableStorage <MerchantOrderRequest>(_settings.Db.MerchantPayRequestConnectionString, "MerchantOrderRequest", null));

            builder.RegisterInstance(merchantOrderRequestRepository)
            .As <IMerchantOrderRequestRepository>()
            .SingleInstance();
            var client = new HttpClient();

            builder.RegisterInstance(client).SingleInstance();

            builder.RegisterType <StatusProcessor>()
            .As <IStatusProcessor>()
            .SingleInstance();


            builder.Populate(_services);
        }
Beispiel #2
0
        public void TestMerchantStoreRepo()
        {
            var merchant = new MerchantPayRequestRepository(new AzureTableStorage <MerchantPayRequest>(connectionString, "MerchantPayRequest", null)).GetAllAsync().Result;

            Assert.NotNull(merchant);
        }
Beispiel #3
0
        protected override void Load(ContainerBuilder builder)
        {
            builder.RegisterInstance(_settings.ProcessRequestJob)
            .SingleInstance();

            builder.RegisterInstance(_settings.NinjaServiceClient)
            .SingleInstance();

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

            builder.RegisterType <HealthService>()
            .As <IHealthService>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(TimeSpan.FromSeconds(30)));

            var bitcoinAggRepository = new BitcoinAggRepository(
                new AzureTableStorage <BitcoinAggEntity>(
                    _settings.ProcessRequestJob.Db.MerchantWalletConnectionString, "BitcoinAgg",
                    null),
                new AzureTableStorage <BitcoinHeightEntity>(
                    _settings.ProcessRequestJob.Db.MerchantWalletConnectionString, "BitcoinHeight",
                    null));

            builder.RegisterInstance(bitcoinAggRepository)
            .As <IBitcoinAggRepository>()
            .SingleInstance();

            var merchantPayRequestRepository =
                new MerchantPayRequestRepository(
                    new AzureTableStorage <MerchantPayRequest>(_settings.ProcessRequestJob.Db.MerchantWalletConnectionString, "MerchantPayRequest", null));

            builder.RegisterInstance(merchantPayRequestRepository)
            .As <IMerchantPayRequestRepository>()
            .SingleInstance();

            var merchantOrderRequestRepository =
                new MerchantOrderRequestRepository(
                    new AzureTableStorage <MerchantOrderRequest>(_settings.ProcessRequestJob.Db.MerchantWalletConnectionString, "MerchantOrderRequest", null));

            builder.RegisterInstance(merchantOrderRequestRepository)
            .As <IMerchantOrderRequestRepository>()
            .SingleInstance();

            builder.RegisterType <BitcoinApi>()
            .As <IBitcoinApi>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(new Uri(_settings.BitcoinApiClient.ServiceUrl)));

            builder.RegisterType <LykkePayServiceStoreRequestMicroService>()
            .As <ILykkePayServiceStoreRequestMicroService>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(new Uri(_settings.ProcessRequestJob.Services.LykkePayServiceStoreRequestMicroService)));

            builder.RegisterType <LykkePayServiceGenerateAddressMicroService>()
            .As <ILykkePayServiceGenerateAddressMicroService>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(new Uri(_settings.ProcessRequestJob.Services.LykkePayServiceGenerateAddressMicroService)));

            builder.RegisterType <ProcessRequest>()
            .As <IProcessRequest>()
            .SingleInstance();

            var client = new RPCClient(
                new NetworkCredential(_settings.ProcessRequestJob.Rpc.UserName,
                                      _settings.ProcessRequestJob.Rpc.Password),
                new Uri(_settings.ProcessRequestJob.Rpc.Url), Network.GetNetwork(_settings.ProcessRequestJob.Rpc.Network));

            builder.RegisterInstance(client)
            .As <RPCClient>()
            .SingleInstance();

            //builder.RegisterType<BalanceChangeHandler>()
            //    .As<IBalanceChangeHandler>()
            //    .As<IStartable>()
            //    .SingleInstance();

            builder.Populate(_services);
        }