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