private void BindServices(ContainerBuilder builder)
        {
            builder.RegisterType <HttpRequestClient>().SingleInstance();
            builder.RegisterType <BitcoinApiClient>()
            .As <IBitcoinApiClient>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(_settings.BitCoinCore));
            builder.RegisterType <OffchainRequestService>().As <IOffchainRequestService>();
            builder.RegisterType <SrvSlackNotifications>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(_settings.SlackIntegration));

            var exchangeOperationsService = new ExchangeOperationsServiceClient(_jobSettings.ExchangeOperationsServiceUrl);

            builder.RegisterInstance(exchangeOperationsService).As <IExchangeOperationsService>().SingleInstance();

            builder.Register <IAppNotifications>(x => new SrvAppNotifications(
                                                     _settings.AppNotifications.HubConnString,
                                                     _settings.AppNotifications.HubName));

            builder.RegisterType <ChronoBankService>().As <IChronoBankService>().SingleInstance();
            builder.RegisterType <SrvSolarCoinHelper>().As <ISrvSolarCoinHelper>().SingleInstance();
            builder.RegisterType <QuantaService>().As <IQuantaService>().SingleInstance();

            builder.Register <IEthereumApi>(x =>
            {
                var api = new EthereumApi(new Uri(_settings.Ethereum.EthereumCoreUrl));
                api.SetRetryPolicy(null);
                return(api);
            }).SingleInstance();

            builder.RegisterType <SrvEthereumHelper>().As <ISrvEthereumHelper>().SingleInstance();

            builder.RegisterType <MarginDataServiceResolver>()
            .As <IMarginDataServiceResolver>()
            .SingleInstance()
            .WithParameter(TypedParameter.From(_settings.MarginTrading));

            builder.RegisterType <EmailSender>().As <IEmailSender>().SingleInstance();
            builder.RegisterType <SrvEmailsFacade>().As <ISrvEmailsFacade>().SingleInstance();

            builder.RegisterType <BitcoinTransactionService>().As <IBitcoinTransactionService>().SingleInstance();

            var historyWriter = new HistoryWriter(_dbSettings.HistoryLogsConnString, _log);

            builder.RegisterInstance(historyWriter).As <IHistoryWriter>();

            builder.RegisterType <PersonalDataService>()
            .As <IPersonalDataService>()
            .WithParameter(TypedParameter.From(_settings.PersonalDataServiceSettings));
        }
Esempio n. 2
0
 static void StartTracking()
 {
     Console.WriteLine("Press [Enter] to start delivery tracking");
     EthereumApi.StartDelivery();
     while (true)
     {
         Console.WriteLine("Press [Enter] to track current data:");
         Console.ReadLine();
         var currentData = SensorsDataShapshot.GetData();
         var hash        = CryptoHelper.MD5(JsonConvert.SerializeObject(currentData));
         EthereumApi.SendInfo(currentData.UID, hash);
         SaveSensorsInfo(currentData);
     }
 }