public async Task SaveTransactions(BitcoinQuery bitcoinQuery) { using (var conn = new SqlConnection(_sqlConnection)) { using (var cmd = new SqlCommand(DbQueries.InsertTransactions, conn)) { if (conn.State != ConnectionState.Open) { await conn.OpenAsync(); } cmd.CommandType = CommandType.Text; cmd.Parameters.AddWithValue("@ACCOUNT_ADDRESS", bitcoinQuery.Address); cmd.Parameters.AddWithValue("@AMOUNT", bitcoinQuery.Amount); cmd.Parameters.AddWithValue("@FROM_WALLET_ID", string.Empty); await cmd.ExecuteNonQueryAsync(); } } }
public async Task <IHttpActionResult> SendBtc([FromBody] BitcoinRequest request) { var operations = new BitcoinOperations(WalletId, WalletPassword1, WalletPassword2); if (request == null) { throw new ArgumentNullException(nameof(request)); } BitcoinQuery query = Mapper.Map <BitcoinRequest, BitcoinQuery>(request); var bitcoinSend = await operations.Send(query.Address, BitcoinValue.FromBtc(query.Amount), WalletId); // This is fake bitcoin service but can be use as real if (bitcoinSend.TxHash != null) { await _dbExecutor.SaveTransactions(query); } return(Ok()); }