CategoryEntryRelation
This commit is contained in:
parent
560c427610
commit
7726ed13f0
@ -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
|
||||
)
|
@ -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
|
||||
)
|
@ -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<EntryCategoryRelation>
|
||||
|
||||
@Update
|
||||
suspend fun updateCategory(categoryEntity: CategoryEntity)
|
||||
|
||||
|
@ -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
|
||||
|
||||
|
||||
|
@ -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)
|
||||
|
@ -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<Entry>)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user