From 8e642120cd2db50ded7ba775dfe192bc06a8698b Mon Sep 17 00:00:00 2001 From: rayhanp1402 <rayhan.hanif14maulana@gmail.com> Date: Fri, 5 Apr 2024 06:22:54 +0700 Subject: [PATCH] feat: Reset/delete all transactions --- .../com/example/bondoyap/ui/settings/SettingsFragment.kt | 4 ++-- .../bondoyap/ui/transactions/TransactionsViewModel.kt | 4 ++++ .../example/bondoyap/ui/transactions/data/TransactionsDao.kt | 3 +++ .../bondoyap/ui/transactions/data/TransactionsRepository.kt | 5 +++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt index 34f65dd..52b6305 100644 --- a/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt +++ b/app/src/main/java/com/example/bondoyap/ui/settings/SettingsFragment.kt @@ -130,8 +130,8 @@ class SettingsFragment : Fragment() { resetButton.setOnClickListener{ Toast.makeText(appContext, "Transaksi di-reset ...", Toast.LENGTH_SHORT).show() showConfirmationDialog("Reset", "Apakah Anda yakin ingin me-reset data transaksi?") { - //todo - + transactionsViewModel.deleteAllTransactions() + Toast.makeText(appContext, "Transaksi berhasil di-reset ...", Toast.LENGTH_SHORT).show() } } diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsViewModel.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsViewModel.kt index 3f5582d..e5d26b6 100644 --- a/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsViewModel.kt +++ b/app/src/main/java/com/example/bondoyap/ui/transactions/TransactionsViewModel.kt @@ -32,6 +32,10 @@ class TransactionsViewModel( suspend fun getAllTransactionsList(): List<Transactions> { return repository.getAllTransactionsList() } + + fun deleteAllTransactions() = viewModelScope.launch { + repository.deleteAllTransactions() + } } class TransactionsViewModelFactory(private val repository: TransactionsRepository): ViewModelProvider.Factory { diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsDao.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsDao.kt index 00dd1fc..a670187 100644 --- a/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsDao.kt +++ b/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsDao.kt @@ -23,4 +23,7 @@ interface TransactionsDao { @Query("SELECT * FROM transactions WHERE transactions.id == :transactionsId") suspend fun getTransactionById(transactionsId: Int?): Transactions + + @Query("DELETE FROM transactions") + suspend fun deleteAllTransactions() } \ No newline at end of file diff --git a/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsRepository.kt b/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsRepository.kt index c376411..752e4e9 100644 --- a/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsRepository.kt +++ b/app/src/main/java/com/example/bondoyap/ui/transactions/data/TransactionsRepository.kt @@ -23,4 +23,9 @@ class TransactionsRepository(private val transactionsDao: TransactionsDao) { suspend fun getAllTransactionsList(): List<Transactions> { return transactionsDao.getTransactionsList() } + + @WorkerThread + suspend fun deleteAllTransactions() { + transactionsDao.deleteAllTransactions() + } } \ No newline at end of file -- GitLab