Duplicate test data in local database removed by adding update query in HemoCubeDao

This commit is contained in:
chandrashekhar reddy
2024-03-31 00:03:48 +05:30
parent 5cfb04c680
commit ad237e75ae
4 changed files with 11 additions and 3 deletions

View File

@@ -53,4 +53,8 @@ interface HemoCubeDao {
@Query("SELECT * from hemo_cube_test_table WHERE localFlag = 0")
fun getPendingUser(): LiveData<List<HemoCubeTestData>>
@Update
suspend fun updateTest(hemoCubeTestData: HemoCubeTestData)
}

View File

@@ -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,
@@ -59,7 +60,9 @@ data class UserData(
fun UserData.toHemoCubeTestData() = HemoCubeTestData(
_id = _id,
name = name,
sampleid = sampleid,
bloodGroup = bloodGroup,
incubationTime = incubationTime,
birthYear = birthYear,
gender = gender,
state = state,

View File

@@ -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

View File

@@ -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) {
@@ -458,13 +458,13 @@ class HemoCubeViewModel @Inject constructor(
)
)
}
hemoCubeDao.insertAll(testDetails)
hemoCubeDao.updateTest(testDetails)
}
is Response.Error -> {
Log.e("Testdb", "Error uploading data to Firestore: $response")
fireBaseUpload.postValue("Error")
hemoCubeDao.insertAll(testDetails)
hemoCubeDao.updateTest(testDetails)
}
else -> {}