Делаем репозиторрий, виюмодели и прочее, сейлюсь перед тем, как их внедрять
This commit is contained in:
parent
e3bc68c14c
commit
a11e81ab27
@ -23,5 +23,7 @@ class BicycleRepository(private val bicycleDao: BicycleDao) {
|
|||||||
suspend fun getBicyclesByUserId(userId: Int): List<Bicycle> {
|
suspend fun getBicyclesByUserId(userId: Int): List<Bicycle> {
|
||||||
return bicycleDao.getBicyclesByUserId(userId)
|
return bicycleDao.getBicyclesByUserId(userId)
|
||||||
}
|
}
|
||||||
|
suspend fun getBicycleById(bicycleId: Int?): Bicycle {
|
||||||
|
return bicycleDao.getBicycleById(bicycleId)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,6 +4,9 @@ import com.example.labwork.database.DAO.UserDao
|
|||||||
import com.example.labwork.models.User
|
import com.example.labwork.models.User
|
||||||
|
|
||||||
class UserRepository(private val userDao: UserDao) {
|
class UserRepository(private val userDao: UserDao) {
|
||||||
|
suspend fun getAllUsers(): List<User> {
|
||||||
|
return userDao.getAllUsers()
|
||||||
|
}
|
||||||
|
|
||||||
suspend fun insertUser(user: User) {
|
suspend fun insertUser(user: User) {
|
||||||
userDao.insertUser(user)
|
userDao.insertUser(user)
|
||||||
|
@ -0,0 +1,44 @@
|
|||||||
|
package com.example.labwork.viewmodel
|
||||||
|
|
||||||
|
import androidx.lifecycle.LiveData
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import com.example.labwork.models.Bicycle
|
||||||
|
import com.example.labwork.repository.BicycleRepository
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
|
class BicycleViewModel(private val bicycleRepository: BicycleRepository) : ViewModel() {
|
||||||
|
private val _bicycles = MutableLiveData<List<Bicycle>>()
|
||||||
|
val bicycles: LiveData<List<Bicycle>> get() = _bicycles
|
||||||
|
|
||||||
|
fun getAllBicycles() {
|
||||||
|
viewModelScope.launch {
|
||||||
|
_bicycles.value = bicycleRepository.getAllBicycles()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getBicycleById(bicycleId: Int) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
val bicycle = bicycleRepository.getBicycleById(bicycleId)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun insertBicycle(bicycle: Bicycle) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
bicycleRepository.insertBicycle(bicycle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun updateBicycle(bicycle: Bicycle) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
bicycleRepository.updateBicycle(bicycle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun deleteBicycle(bicycle: Bicycle) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
bicycleRepository.deleteBicycle(bicycle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,45 @@
|
|||||||
|
package com.example.labwork.viewmodel
|
||||||
|
|
||||||
|
import androidx.lifecycle.LiveData
|
||||||
|
import androidx.lifecycle.MutableLiveData
|
||||||
|
import androidx.lifecycle.ViewModel
|
||||||
|
import androidx.lifecycle.viewModelScope
|
||||||
|
import com.example.labwork.models.User
|
||||||
|
import com.example.labwork.repository.UserRepository
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
|
class UserViewModel(private val userRepository: UserRepository) : ViewModel() {
|
||||||
|
private val _users = MutableLiveData<List<User>>()
|
||||||
|
val users: LiveData<List<User>> get() = _users
|
||||||
|
|
||||||
|
fun getAllUsers() {
|
||||||
|
viewModelScope.launch {
|
||||||
|
_users.value = userRepository.getAllUsers()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun getUserById(userId: Int) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
val user = userRepository.getUserById(userId)
|
||||||
|
// Обработка полученного пользователя
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun insertUser(user: User) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
userRepository.insertUser(user)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun updateUser(user: User) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
userRepository.updateUser(user)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fun deleteUser(user: User) {
|
||||||
|
viewModelScope.launch {
|
||||||
|
userRepository.deleteUser(user)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user