HemoCube new Changes

This commit is contained in:
smileomi18@gmail.com
2023-07-24 15:45:16 +05:30
parent ca403ab862
commit 0d2027381c
5 changed files with 33 additions and 11 deletions

View File

@@ -24,7 +24,6 @@ object DataHolder {
var selectedTest: UserData? = null
var SelectTestType: HemoCubeTestData? = null
var location: UserData.Location? = null
var locationhemocube: HemoCubeTestData.Location? = null
var testExp: Boolean = true
var hemocubeResult: Double? = null
}

View File

@@ -4,10 +4,11 @@ import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import com.example.hpostesting.data.model.patient.UserData
import com.example.hpostesting.data.model.patient.HemoCubeTestData
@Database(entities = [UserData::class], version = 1, exportSchema = false)
@Database(entities = [UserData::class, HemoCubeTestData::class], version = 1, exportSchema = false)
@TypeConverters(Converters::class)
abstract class MyDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
abstract fun hemoCubeDb(): HemoCubeDb
}
abstract fun hemoCubeDao(): HemoCubeDao
}

View File

@@ -4,6 +4,7 @@ import android.net.Uri
import com.example.hpostesting.data.model.PendingUploads
import com.example.hpostesting.data.model.Response
import com.example.hpostesting.data.model.patient.HemoCubeTestData
import com.example.hpostesting.data.model.patient.UserData
import com.google.firebase.firestore.FirebaseFirestore
import com.google.firebase.firestore.ktx.firestore
import com.google.firebase.ktx.Firebase
@@ -18,19 +19,39 @@ class DatabaseRepository : Repository {
suspend fun addTestToDatabase(data: HemoCubeTestData?): Response<String> {
return try {
val userdata = db.collection("patientData").whereEqualTo("_id", data._id).get().await()
val userdata = db.collection("patientData").whereEqualTo("_id", data!!._id).get().await()
if (userdata.documents.isNotEmpty()) {
userdata.documents.forEach {
db.collection("patientData").document(it.id).update("testStatus", true)
}
}
db.collection("testData").add(data).await()
Response.Success(data._id)
db.collection("testData").add(data!!).await()
Response.Success(data!!._id)
} catch (e: Exception) {
Response.Error(e)
}
}
suspend fun addTestToDatabase(data: UserData?): Response<String> {
return try {
val userdata = db.collection("patientData").whereEqualTo("_id", data!!._id).get().await()
if (userdata.documents.isNotEmpty()) {
userdata.documents.forEach {
db.collection("patientData").document(it.id).update("testStatus", true)
}
}
db.collection("testData").add(data!!).await()
Response.Success(data!!._id)
} catch (e: Exception) {
Response.Error(e)
}
}
suspend fun uploadFileToStorage(patientID: String, filePath: String): Response<Boolean> {
try {

View File

@@ -3,7 +3,7 @@ package com.example.hpostesting.domain.di
import android.app.Application
import android.content.Context
import androidx.room.Room
import com.example.hpostesting.data.dao.HemoCubeDb
import com.example.hpostesting.data.dao.HemoCubeDao
import com.example.hpostesting.data.dao.MyDatabase
import com.example.hpostesting.data.dao.UserDao
import com.example.hpostesting.data.datasource.LocalFileDataSource
@@ -38,8 +38,8 @@ object AppModule {
@Provides
@Singleton
fun provideMyHemo(myDatabase: MyDatabase): HemoCubeDb {
return myDatabase.hemoCubeDb()
fun provideMyHemo(myDatabase: MyDatabase): HemoCubeDao {
return myDatabase.hemoCubeDao()
}
@Provides

View File

@@ -25,6 +25,7 @@ class HemoCubeViewModel@Inject constructor(
var isServiceConnected = false
val progressBar = MutableLiveData(false)
val testDetails = DataHolder.SelectTestType
val testDetailst = DataHolder.selectedTest
private val _networkStatusLiveData = NetworkStatusLiveData(context)
val networkStatusLiveData: LiveData<Boolean>
get() = _networkStatusLiveData
@@ -53,7 +54,7 @@ class HemoCubeViewModel@Inject constructor(
}
private fun addResultTestToDb() {
testDetails?.resultRatio = DataHolder.hemocubeResult
testDetails?.locationhemo = DataHolder.locationhemocube
testDetailst?.location = DataHolder.location
testDetails?.testTime = SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
).format(Calendar.getInstance().time)