private static void RunSend(RepositoryConfiguration repositoryConfig) { var repoFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig); var bitcoinBusiness = new BitcoinBusiness.BitcoinBusiness(repoFactory); var connection = repoFactory.GetOldConnection() ?? repoFactory.GetDbConnection(); try { while (true) { Console.WriteLine("Start Send Bitcoin...."); var rpc = new BitcoinRpc(AppSettingHelper.GetBitcoinNode(), AppSettingHelper.GetBitcoinRpcAuthentication()); using (var bitcoinRepo = repoFactory.GetBitcoinWithdrawTransactionRepository(connection)) { var resultSend = bitcoinBusiness.SendTransactionAsync(bitcoinRepo, rpc); Console.WriteLine(JsonHelper.SerializeObject(resultSend.Result)); Console.WriteLine("Send Bitcoin End..."); Thread.Sleep(1000); } } } catch (Exception e) { connection.Close(); _logger.Error(e, "Send Bitcoin"); Console.WriteLine(e.ToString()); } }
public WalletBusiness(IVakapayRepositoryFactory vakapayRepositoryFactory, bool isNewConnection = true) { _vakapayRepositoryFactory = vakapayRepositoryFactory; _connectionDb = isNewConnection ? _vakapayRepositoryFactory.GetDbConnection() : _vakapayRepositoryFactory.GetOldConnection(); ethereumBussiness = new EthereumBusiness.EthereumBusiness(vakapayRepositoryFactory, false); bitcoinBussiness = new BitcoinBusiness.BitcoinBusiness(vakapayRepositoryFactory, false); vakacoinBussiness = new VakacoinBusiness.VakacoinBusiness(vakapayRepositoryFactory, false); sendMailBusiness = new SendMailBusiness.SendMailBusiness(_vakapayRepositoryFactory, false); userBusiness = new UserBusiness.UserBusiness(_vakapayRepositoryFactory, false); portfolioHistoryBusiness = new PortfolioHistoryBusiness.PortfolioHistoryBusiness(_vakapayRepositoryFactory, false); //(PortfolioHistoryBusiness.PortfolioHistoryBusiness)_vakapayRepositoryFactory.GetPortfolioHistoryRepository(_connectionDb); }
private static void Main(string[] args) { try { var repositoryConfig = new RepositoryConfiguration { ConnectionString = AppSettingHelper.GetDbConnection() }; _persistenceFactory = new VakapayRepositoryMysqlPersistenceFactory(repositoryConfig); var btcBusiness = new BitcoinBusiness.BitcoinBusiness(_persistenceFactory); var rpc = new BitcoinRpc(AppSettingHelper.GetBitcoinNode(), AppSettingHelper.GetBitcoinRpcAuthentication()); var transaction = rpc.FindTransactionByHash(args[0]); Logger.Debug("BitcoinNotify =>> BTCTransactionModel: " + transaction.Data); var transactionModel = BtcTransactionModel.FromJson(transaction.Data); if (transactionModel.BtcTransactionDetailsModel != null && transactionModel.BtcTransactionDetailsModel.Length > 0) { foreach (var transactionModelDetail in transactionModel.BtcTransactionDetailsModel) { _walletBusiness = new WalletBusiness.WalletBusiness(_persistenceFactory); if (transactionModelDetail.Category.Equals("receive")) { HandleNotifyDataReceiver(transactionModel, transactionModelDetail, btcBusiness); } else if (transactionModelDetail.Category.Equals("send")) { // if isExist(by address and transactionId) then update, else insert HandleNotifyDataSend(transactionModel, transactionModelDetail, btcBusiness); } } } else { Logger.Debug("BitcoinNotify BtcTransactionDetailsModel is not exist"); } } catch (Exception e) { Logger.Error(e, "BitcoinNotify exception"); } }