diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/Category/CategoryEntity.kt b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/Category/CategoryEntity.kt index d1aed3c..ec3649b 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/Category/CategoryEntity.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/Category/CategoryEntity.kt @@ -7,6 +7,6 @@ import androidx.room.PrimaryKey data class CategoryEntity( @PrimaryKey(autoGenerate = true) val _id: Int = 0, - val categoryname: String, + val categoryName: String, val icon: Int ) \ No newline at end of file diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/EntryCategoryRelation.kt b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/EntryCategoryRelation.kt new file mode 100644 index 0000000..f5438bd --- /dev/null +++ b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/EntryCategoryRelation.kt @@ -0,0 +1,15 @@ +package at.xaxa.ledger.data.db + +import androidx.room.Embedded +import androidx.room.Relation +import at.xaxa.ledger.data.Entry +import java.util.Locale.Category + +data class EntryCategoryRelation( + @Embedded val category: Category, + @Relation( + parentColumn = "categoryName", + entityColumn = "categoryName" + ) + val entry: Entry +) \ No newline at end of file diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDao.kt b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDao.kt index 1a6fb22..605e7cf 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDao.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDao.kt @@ -5,6 +5,7 @@ import androidx.room.Delete import androidx.room.Insert import androidx.room.OnConflictStrategy import androidx.room.Query +import androidx.room.Transaction import androidx.room.Update import at.xaxa.ledger.data.db.Category.CategoryEntity import at.xaxa.ledger.data.db.Entry.EntryEntity @@ -18,6 +19,10 @@ interface LedgerDao { @Insert(onConflict = OnConflictStrategy.IGNORE) suspend fun addEntry(entryEntity: EntryEntity) + @Transaction + @Query("SELECT * FROM _transaction WHERE categoryName = :categoryName") + suspend fun getEntryWithCategoryName(categoryName: String): List + @Update suspend fun updateCategory(categoryEntity: CategoryEntity) diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDatabase.kt b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDatabase.kt index d52fe49..db13dcc 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDatabase.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/data/db/LedgerDatabase.kt @@ -4,7 +4,6 @@ import android.content.Context import androidx.room.Database import androidx.room.Room import androidx.room.RoomDatabase -import at.xaxa.ledger.data.db.Category.CategoryEntity import at.xaxa.ledger.data.db.Entry.EntryEntity diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/AppViewModelProvider.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/AppViewModelProvider.kt index 57c0e6a..c8b83d7 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/AppViewModelProvider.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/AppViewModelProvider.kt @@ -5,6 +5,7 @@ import androidx.lifecycle.createSavedStateHandle import androidx.lifecycle.viewmodel.initializer import androidx.lifecycle.viewmodel.viewModelFactory import at.xaxa.ledger.LedgerApplication +import at.xaxa.ledger.ui.edit.EditViewModel import at.xaxa.ledger.ui.home.HomeViewModel @@ -14,9 +15,9 @@ object AppViewModelProvider { HomeViewModel((this[APPLICATION_KEY] as LedgerApplication).entryRepository) } - initializer { + /*initializer { AddViewModel(this.createSavedStateHandle(), (this[APPLICATION_KEY] as LedgerApplication).entryRepository) - } + }*/ initializer { EditViewModel(this.createSavedStateHandle(), (this[APPLICATION_KEY] as LedgerApplication).entryRepository) diff --git a/Ledger/app/src/main/java/at/xaxa/ledger/ui/home/HomeViewModel.kt b/Ledger/app/src/main/java/at/xaxa/ledger/ui/home/HomeViewModel.kt index 9ca3a14..f16fc53 100644 --- a/Ledger/app/src/main/java/at/xaxa/ledger/ui/home/HomeViewModel.kt +++ b/Ledger/app/src/main/java/at/xaxa/ledger/ui/home/HomeViewModel.kt @@ -1,16 +1,13 @@ package at.xaxa.ledger.ui.home -import androidx.lifecycle.SavedStateHandle import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import at.xaxa.ledger.data.Entry import at.xaxa.ledger.data.EntryRepository -import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.SharingStarted import kotlinx.coroutines.flow.map import kotlinx.coroutines.flow.stateIn -import kotlinx.coroutines.flow.update -import kotlinx.coroutines.launch + data class EntryListUIState(val entry: List)