From b6a03e2ebffbaf7b1590cb751ab874381383cd70 Mon Sep 17 00:00:00 2001 From: Pritimay Sarkar Date: Mon, 23 Oct 2023 02:23:28 +0530 Subject: [PATCH] add search fields based on date partition - optimize search based on current date partition - fix createdAt empty string in case of offline upload --- .../example/hposregistration/data/user/UserData.kt | 3 +++ .../ui/viewmodels/RegistrationViewModel.kt | 13 +++++++++++++ 2 files changed, 16 insertions(+) diff --git a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt index caa78f6..a2c7849 100644 --- a/app/src/main/java/com/example/hposregistration/data/user/UserData.kt +++ b/app/src/main/java/com/example/hposregistration/data/user/UserData.kt @@ -7,8 +7,11 @@ import androidx.room.PrimaryKey data class UserData( @PrimaryKey var _id: String = "", + var _idSearch: String = "", var abhaId: String = "", + var abhaIdSearch: String = "", var aadharId: String = "", + var aadharIdSearch: String = "", var name: String = "", var birthYear: String = "", var gender: String = "", diff --git a/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt b/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt index 930e4ca..f56bbaa 100644 --- a/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt +++ b/app/src/main/java/com/example/hposregistration/ui/viewmodels/RegistrationViewModel.kt @@ -13,6 +13,10 @@ import com.example.hposregistration.data.user.UserData import com.google.firebase.storage.FirebaseStorage import dagger.hilt.android.lifecycle.HiltViewModel import kotlinx.coroutines.launch +import java.text.SimpleDateFormat +import java.util.Calendar +import java.util.Date +import java.util.Locale import javax.inject.Inject @HiltViewModel @@ -63,6 +67,15 @@ class RegistrationViewModel @Inject constructor( get() = _networkStatusLiveData fun insert(userData: UserData) = viewModelScope.launch { + val currentDate = Date() + val dateFormat = SimpleDateFormat("yyyyMMdd") + val partition = dateFormat.format(currentDate) + userData._idSearch = partition + userData._id + userData.abhaIdSearch = partition + userData.abhaId + userData.aadharIdSearch = partition + userData.aadharId + userData.createdAt = SimpleDateFormat( + "yyyy-MM-dd HH:mm:ss", Locale.getDefault() + ).format(Calendar.getInstance().time) mainRepository.insert(userData) }