From 0e7d9460ad349b8ffa9dfdc7103613e211a5c485 Mon Sep 17 00:00:00 2001 From: Nigel Sahl <93074692+NerbFox@users.noreply.github.com> Date: Mon, 1 Apr 2024 15:49:56 +0700 Subject: [PATCH] update: add getSum function --- app/src/main/java/com/example/nerbos/data/TransactionDao.kt | 5 +++++ .../com/example/nerbos/repository/TransactionRepository.kt | 5 +++++ .../com/example/nerbos/viewmodel/TransactionViewModel.kt | 5 +++++ 3 files changed, 15 insertions(+) diff --git a/app/src/main/java/com/example/nerbos/data/TransactionDao.kt b/app/src/main/java/com/example/nerbos/data/TransactionDao.kt index ce1a9db..29683ae 100644 --- a/app/src/main/java/com/example/nerbos/data/TransactionDao.kt +++ b/app/src/main/java/com/example/nerbos/data/TransactionDao.kt @@ -8,6 +8,7 @@ import androidx.room.OnConflictStrategy import androidx.room.Query import androidx.room.Update import com.example.nerbos.model.Transaction +import com.example.nerbos.model.TransactionCategory @Dao interface TransactionDao { @@ -22,4 +23,8 @@ interface TransactionDao { @Delete suspend fun deleteTransation(transaction: Transaction) + + @Query("SELECT SUM(nominal) FROM transaction_table WHERE userID = :userID AND category = :category") + fun getSum(userID: Int, category: TransactionCategory): LiveData<Float> + } \ No newline at end of file diff --git a/app/src/main/java/com/example/nerbos/repository/TransactionRepository.kt b/app/src/main/java/com/example/nerbos/repository/TransactionRepository.kt index 167b34a..378a6f2 100644 --- a/app/src/main/java/com/example/nerbos/repository/TransactionRepository.kt +++ b/app/src/main/java/com/example/nerbos/repository/TransactionRepository.kt @@ -3,6 +3,7 @@ package com.example.nerbos.repository import androidx.lifecycle.LiveData import com.example.nerbos.model.Transaction import com.example.nerbos.data.TransactionDao +import com.example.nerbos.model.TransactionCategory import com.example.nerbos.service.Authentication class TransactionRepository(private val transactionDao: TransactionDao) { @@ -22,4 +23,8 @@ class TransactionRepository(private val transactionDao: TransactionDao) { fun setReadAllDataUserId(userID: Int){ readAllData = transactionDao.readAllData(userID) } + + fun getSum(userID: Int, category: TransactionCategory): LiveData<Float>{ + return transactionDao.getSum(userID, category) + } } \ No newline at end of file diff --git a/app/src/main/java/com/example/nerbos/viewmodel/TransactionViewModel.kt b/app/src/main/java/com/example/nerbos/viewmodel/TransactionViewModel.kt index 5008192..ed27c0a 100644 --- a/app/src/main/java/com/example/nerbos/viewmodel/TransactionViewModel.kt +++ b/app/src/main/java/com/example/nerbos/viewmodel/TransactionViewModel.kt @@ -6,6 +6,7 @@ import androidx.lifecycle.LiveData import androidx.lifecycle.viewModelScope import com.example.nerbos.model.Transaction import com.example.nerbos.data.TransactionDatabase +import com.example.nerbos.model.TransactionCategory import com.example.nerbos.repository.TransactionRepository import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch @@ -41,4 +42,8 @@ class TransactionViewModel(application: Application): AndroidViewModel(applicati repository.setReadAllDataUserId(userId) readAllData = repository.readAllData } + + fun getSums(userId: Int, category: TransactionCategory): LiveData<Float>{ + return repository.getSum(userId, category) + } } \ No newline at end of file -- GitLab