cloudroam
2025-03-03 4cb9946eff3626389ae93feef4250dd3d45fb694
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package com.example.firstapp.repository
 
import com.example.firstapp.dao.PackageDao
import com.example.firstapp.model.PackageInfo
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.withContext
 
class PackageRepository(private val packageDao: PackageDao) {
    
    fun getPackages(date: Long, dateType: String): Flow<List<PackageInfo>> {
        return when(dateType) {
            "DAY" -> packageDao.getPackagesByDay(date)
            "WEEK" -> packageDao.getPackagesByWeek(date)
            else -> packageDao.getPackagesByDay(date)
        }
    }
 
    fun getCourierStats(date: Long) = packageDao.getCourierStatsByWeek(date)
    
    fun getDailyStats(date: Long) = packageDao.getDailyStatsByWeek(date)
 
    suspend fun insert(packageInfo: PackageInfo) {
        withContext(Dispatchers.IO) {
            packageDao.insert(packageInfo)
        }
    }
 
    suspend fun update(packageInfo: PackageInfo) {
        withContext(Dispatchers.IO) {
            packageDao.update(packageInfo)
        }
    }