Skip to content
Snippets Groups Projects
Commit 73f3278a authored by naufal's avatar naufal
Browse files

feat: coroutine for dao access

parent 023da56d
No related merge requests found
...@@ -6,6 +6,8 @@ import androidx.lifecycle.MutableLiveData ...@@ -6,6 +6,8 @@ import androidx.lifecycle.MutableLiveData
import com.example.myapplication.dao.TransactionDao import com.example.myapplication.dao.TransactionDao
import com.example.myapplication.database.TransactionDatabase import com.example.myapplication.database.TransactionDatabase
import com.example.myapplication.entities.TransactionEntity import com.example.myapplication.entities.TransactionEntity
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
class TransactionRepository(context: Context) { class TransactionRepository(context: Context) {
...@@ -18,17 +20,29 @@ class TransactionRepository(context: Context) { ...@@ -18,17 +20,29 @@ class TransactionRepository(context: Context) {
allTransactions = transactionDao.getAllTransactions() allTransactions = transactionDao.getAllTransactions()
} }
fun insertTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) { suspend fun insertTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String){
val transaction = TransactionEntity(title = title, nominal = nominal, kategori = kategori, lokasi = lokasi, tanggal = tanggal) withContext(Dispatchers.IO) {
transactionDao.insertTransaction(transaction) val transaction = TransactionEntity(
title = title,
nominal = nominal,
kategori = kategori,
lokasi = lokasi,
tanggal = tanggal
)
transactionDao.insertTransaction(transaction)
}
} }
fun updateTransaction(title: String, nominal: String, kategori: String, id: Int) { suspend fun updateTransaction(title: String, nominal: String, kategori: String, id: Int) {
// id buat yang mau diupdate data yang mana withContext(Dispatchers.IO) {
transactionDao.update(title, nominal, kategori, id) // id buat yang mau diupdate data yang mana
transactionDao.update(title, nominal, kategori, id)
}
} }
fun deleteTransaction(id: Int) { suspend fun deleteTransaction(id: Int) {
transactionDao.delete(id) withContext(Dispatchers.IO) {
transactionDao.delete(id)
}
} }
} }
\ No newline at end of file
...@@ -22,17 +22,17 @@ class TransactionViewModel(application : Application) : ViewModel() { ...@@ -22,17 +22,17 @@ class TransactionViewModel(application : Application) : ViewModel() {
// //TODO("Implement kalau transaksi berubah di viewnya juga langsung berubah") // //TODO("Implement kalau transaksi berubah di viewnya juga langsung berubah")
// Log.i("Development", "Transaction changed, transaction: $it") // Log.i("Development", "Transaction changed, transaction: $it")
// } // }
fun addTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) { suspend fun addTransaction(title: String, nominal: String, kategori: String, lokasi: String, tanggal: String) {
repository.insertTransaction(title, nominal , kategori, lokasi, tanggal) repository.insertTransaction(title, nominal , kategori, lokasi, tanggal)
} }
//
// fun updateTransaction() { suspend fun updateTransaction() {
// TODO("implement update transaction") TODO("implement update transaction")
// } }
//
// fun deleteTransaction() { suspend fun deleteTransaction() {
// TODO("implement delete transaction") TODO("implement delete transaction")
// } }
private val _text = MutableLiveData<String>().apply { private val _text = MutableLiveData<String>().apply {
value = "" value = ""
......
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment