package cy.agorise.crystalwallet.dao; import android.arch.lifecycle.LiveData; import android.arch.persistence.room.Dao; import android.arch.persistence.room.Insert; import android.arch.persistence.room.OnConflictStrategy; import android.arch.persistence.room.Query; import java.util.List; import cy.agorise.crystalwallet.models.BitcoinTransaction; import cy.agorise.crystalwallet.models.BitcoinTransactionExtended; import cy.agorise.crystalwallet.models.BitcoinTransactionGTxIO; /** * Created by Henry Varona on 10/02/2018. */ @Dao public interface BitcoinTransactionDao { @Query("SELECT * FROM crypto_coin_transaction cct, bitcoin_transaction bt WHERE bt.crypto_coin_transaction_id = cct.id") LiveData getAll(); @Query("SELECT * FROM bitcoin_transaction bt WHERE bt.tx_id = :txid") List getTransactionsByTxid(String txid); @Query("SELECT * FROM bitcoin_transaction bt WHERE bt.crypto_coin_transaction_id = :idCryptoCoinTransaction") BitcoinTransaction getBitcoinTransactionByCryptoCoinTransaction(long idCryptoCoinTransaction); @Query("SELECT * FROM bitcoin_transaction_gt_io bt WHERE bt.bitcoin_transaction_id= :idBitcoinTransaction") List getGtxIOByTransaction(long idBitcoinTransaction); @Query("SELECT * FROM bitcoin_transaction_gt_io bt WHERE bt.address= :address") List getGtxIOByAddress(String address); @Insert(onConflict = OnConflictStrategy.REPLACE) public long[] insertBitcoinTransaction(BitcoinTransaction... transactions); @Insert(onConflict = OnConflictStrategy.REPLACE) public long[] insertBitcoinTransactionGTxIO(BitcoinTransactionGTxIO... transactiongtxios); }