From f578c17b5f64632c0f05682365157118bd6eee22 Mon Sep 17 00:00:00 2001 From: chandrashekhar reddy Date: Mon, 1 Apr 2024 11:36:00 +0530 Subject: [PATCH] Duplicate test data in local database removed by adding update query in HemoCubeDao --- .../java/com/example/hpostesting/data/dao/HemoCubeDao.kt | 3 ++- .../com/example/hpostesting/data/model/patient/UserData.kt | 3 +++ .../presentation/adapter/OfflineUserListAdapter.kt | 1 + .../hpostesting/presentation/hemocube/HemoCubeViewModel.kt | 5 ++--- 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt index 76a8ded..52822a1 100644 --- a/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt +++ b/app/src/main/java/com/example/hpostesting/data/dao/HemoCubeDao.kt @@ -52,5 +52,6 @@ interface HemoCubeDao { @Query("SELECT * from hemo_cube_test_table WHERE localFlag = 0") fun getPendingUser(): LiveData> - + @Update + suspend fun updateTest(hemoCubeTestData: HemoCubeTestData) } \ No newline at end of file diff --git a/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt b/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt index a7103af..6abf569 100644 --- a/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt +++ b/app/src/main/java/com/example/hpostesting/data/model/patient/UserData.kt @@ -43,6 +43,7 @@ data class UserData( var result: TestRightResultType? = null, var resultRatio: Double? = null, var prdClassification: String = "", + var sampleid: Int = 0 ) { enum class Gender { MALE, @@ -60,6 +61,8 @@ fun UserData.toHemoCubeTestData() = HemoCubeTestData( _id = _id, name = name, bloodGroup = bloodGroup, + sampleid = sampleid, + incubationTime = incubationTime, birthYear = birthYear, gender = gender, state = state, diff --git a/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt b/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt index cee5f3d..3e02f20 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/adapter/OfflineUserListAdapter.kt @@ -122,6 +122,7 @@ class OfflineUserListAdapter(private val view: View, private val batLevel: Int) ).show() } else { DataHolder.selectedTest = UserData( + sampleid = userList.sampleid, _id = userList._id, bloodGroup = userList.bloodGroup, incubationTime = userList.incubationTime diff --git a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt index 747b6af..0a45540 100644 --- a/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt +++ b/app/src/main/java/com/example/hpostesting/presentation/hemocube/HemoCubeViewModel.kt @@ -136,7 +136,7 @@ class HemoCubeViewModel @Inject constructor( testDetails?.testTime = SimpleDateFormat( "yyyy-MM-dd HH:mm:ss", Locale.getDefault() ).format(Calendar.getInstance().time) - hemoCubeDao.insertAll(testDetails!!) + hemoCubeDao.updateTest(testDetails!!) fireBaseUpload.postValue("Local") } } catch (e: Exception) { @@ -423,7 +423,6 @@ class HemoCubeViewModel @Inject constructor( testDetails!!.reportUploadTime = SimpleDateFormat( "yyyy-MM-dd HH:mm:ss", Locale.getDefault() ).format(Calendar.getInstance().time) - hemoCubeDao.insertAll(testDetails) // when (val response = repository.addTestToDatabase(testDetails)) { // is Response.Success -> { // val kitCount = sharedPreference.getInt(Constants.KIT_COUNT, 0) @@ -474,7 +473,7 @@ class HemoCubeViewModel @Inject constructor( ) ) ) - hemoCubeDao.insertAll(testDetails) + hemoCubeDao.updateTest(testDetails) } } catch (e: Exception) { Log.e("Testdb", "Exception during data upload: ${e.message}")