45 lines
2.0 KiB
Kotlin
45 lines
2.0 KiB
Kotlin
package com.financialviewer.db
|
|
|
|
import androidx.room.Dao
|
|
import androidx.room.Delete
|
|
import androidx.room.Insert
|
|
import androidx.room.OnConflictStrategy
|
|
import androidx.room.Query
|
|
import androidx.room.Update
|
|
|
|
@Dao
|
|
interface BankTransactionDao {
|
|
|
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
|
suspend fun insertBankTransaction(bankTransaction: BankTransaction)
|
|
|
|
@Update
|
|
suspend fun updateBankTransaction(bankTransaction: BankTransaction)
|
|
|
|
@Query("SELECT COUNT(*) FROM bank_Transactions")
|
|
suspend fun getRowCount(): Int
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE refId = :refId")
|
|
suspend fun getBankTransactionById(refId: String): BankTransaction?
|
|
|
|
@Query("SELECT * FROM bank_Transactions ORDER BY date DESC LIMIT 1")
|
|
suspend fun getLastBankTransaction(): BankTransaction?
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE date LIKE :year || '-%' ORDER BY date DESC")
|
|
suspend fun getAllBankTransactionsDesc(year: String): List<BankTransaction>
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE date LIKE :year || '-%' AND category = :category ORDER BY date DESC")
|
|
suspend fun getBankTransactionsByCategoryDesc(year: String, category: String): List<BankTransaction>
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE date LIKE :year || '-%' AND category IN (:categoryList) ORDER BY date DESC")
|
|
suspend fun getBankTransactionsByCategoryListDesc(year: String, categoryList: MutableList<String>): List<BankTransaction>
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE date LIKE :year || '-' || :month || '%' ORDER BY date DESC")
|
|
suspend fun getBankTransactionsByMonthDesc(year: String, month: String): List<BankTransaction>
|
|
|
|
@Query("SELECT * FROM bank_Transactions WHERE date LIKE :year || '-' || :month || '%' AND category IN (:categoryList) ORDER BY date DESC")
|
|
suspend fun getBankTransactionsByMonthAndCategoryListDesc(year: String, month: String, categoryList: MutableList<String>): List<BankTransaction>
|
|
|
|
@Delete
|
|
suspend fun deleteBankTransaction(bankTransaction: BankTransaction)
|
|
} |