package com.example.firstapp.ui.dashboard
|
|
import android.app.Application
|
import androidx.lifecycle.AndroidViewModel
|
import androidx.lifecycle.asLiveData
|
import androidx.lifecycle.viewModelScope
|
import com.example.firstapp.AppDatabase
|
import com.example.firstapp.model.PackageInfo
|
import com.example.firstapp.repository.PackageRepository
|
import kotlinx.coroutines.launch
|
|
class DashboardViewModel(application: Application) : AndroidViewModel(application) {
|
|
private val repository: PackageRepository
|
|
init {
|
val packageDao = AppDatabase.getInstance(application).packageDao()
|
repository = PackageRepository(packageDao)
|
}
|
|
fun getPackages(date: Long, dateType: String) =
|
repository.getPackages(date, dateType).asLiveData()
|
|
fun getCourierStats(date: Long) = repository.getCourierStats(date).asLiveData()
|
|
fun getDailyStats(date: Long) = repository.getDailyStats(date).asLiveData()
|
|
fun updatePackageStatus(packageInfo: PackageInfo) = viewModelScope.launch {
|
repository.update(packageInfo)
|
}
|
|
fun insert(packageInfo: PackageInfo) = viewModelScope.launch {
|
repository.insert(packageInfo)
|
}
|
}
|