CSV FILE CREATED- for complete offline mode
This commit is contained in:
@@ -60,10 +60,10 @@ class LocalFileDataSource {
|
|||||||
"isUnderMedication",
|
"isUnderMedication",
|
||||||
"isUnderTransfusion",
|
"isUnderTransfusion",
|
||||||
"sickleCellHistory",
|
"sickleCellHistory",
|
||||||
"userImageURL",
|
|
||||||
"registeredBy",
|
"registeredBy",
|
||||||
"createdAt",
|
"createdAt",
|
||||||
"registrationCenterName"
|
"registrationCenterName",
|
||||||
|
"userImageURL"
|
||||||
|
|
||||||
)
|
)
|
||||||
csvWriter.writeNext(header)
|
csvWriter.writeNext(header)
|
||||||
@@ -95,10 +95,10 @@ class LocalFileDataSource {
|
|||||||
data.isUnderMedication?.toString() ?: "",
|
data.isUnderMedication?.toString() ?: "",
|
||||||
data.isUnderTransfusion?.toString() ?: "",
|
data.isUnderTransfusion?.toString() ?: "",
|
||||||
data.sickleCellHistory ?: "",
|
data.sickleCellHistory ?: "",
|
||||||
data.userImageURL,
|
|
||||||
data.registeredBy ?: "",
|
data.registeredBy ?: "",
|
||||||
data.createdAt ?: "",
|
data.createdAt ?: "",
|
||||||
data.registrationCenterName ?: ""
|
data.registrationCenterName ?: "",
|
||||||
|
data.userImageURL
|
||||||
|
|
||||||
)
|
)
|
||||||
csvWriter.writeNext(row)
|
csvWriter.writeNext(row)
|
||||||
|
|||||||
@@ -235,27 +235,41 @@ class UserListFragment : BaseFragment() {
|
|||||||
|
|
||||||
|
|
||||||
private fun downloadLocalDBData(dialog: DialogInterface) {
|
private fun downloadLocalDBData(dialog: DialogInterface) {
|
||||||
|
var csvDownloaded = false
|
||||||
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
|
||||||
try {
|
try {
|
||||||
val downloadList = mutableListOf<UserData>()
|
if (!csvDownloaded) {
|
||||||
|
|
||||||
userDataList.forEach { userData ->
|
val downloadList = mutableListOf<UserData>()
|
||||||
Log.d("DownloadDebug", "userData: $userData, isCSVCreated: ${userData.isCSVCreated}")
|
|
||||||
if (!userData.isCSVCreated) {
|
userDataList.forEach { userData ->
|
||||||
|
Log.d(
|
||||||
|
"DownloadDebug",
|
||||||
|
"userData: $userData, isCSVCreated: ${userData.isCSVCreated}"
|
||||||
|
)
|
||||||
|
// if (!userData.isCSVCreated) {
|
||||||
|
// userData.isCSVCreated = false
|
||||||
downloadList.add(userData)
|
downloadList.add(userData)
|
||||||
|
// }
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Log the size of downloadList for debugging
|
// Log the size of downloadList for debugging
|
||||||
Log.d("DownloadDebug", "downloadList size: ${downloadList.size}")
|
Log.d("DownloadDebug", "downloadList size: ${downloadList.size}")
|
||||||
|
|
||||||
if (downloadList.isNotEmpty()) {
|
if (downloadList.isNotEmpty()) {
|
||||||
// Call ViewModel function to create CSV with filtered data
|
// Call ViewModel function to create CSV with filtered data
|
||||||
viewModel.createCSV(downloadList, requireContext())
|
viewModel.createCSV(downloadList, requireContext())
|
||||||
Toast.makeText(requireContext(), "CSV file downloaded successfully", Toast.LENGTH_SHORT).show()
|
csvDownloaded = true
|
||||||
} else {
|
Toast.makeText(
|
||||||
Toast.makeText(requireContext(), "No data to download", Toast.LENGTH_SHORT).show()
|
requireContext(),
|
||||||
|
"CSV file downloaded successfully",
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
|
} else {
|
||||||
|
Toast.makeText(requireContext(), "No data to download", Toast.LENGTH_SHORT)
|
||||||
|
.show()
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} catch (e: Exception) {
|
} catch (e: Exception) {
|
||||||
e.printStackTrace()
|
e.printStackTrace()
|
||||||
|
|||||||
@@ -20,6 +20,9 @@ import dagger.hilt.android.AndroidEntryPoint
|
|||||||
import `in`.sminnovations.hposregistration.R
|
import `in`.sminnovations.hposregistration.R
|
||||||
import `in`.sminnovations.hposregistration.databinding.FragmentAbhaRegistrationBinding
|
import `in`.sminnovations.hposregistration.databinding.FragmentAbhaRegistrationBinding
|
||||||
import org.json.JSONObject
|
import org.json.JSONObject
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.Calendar
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
class AbhaRegistrationFragment : BaseFragment() {
|
class AbhaRegistrationFragment : BaseFragment() {
|
||||||
@@ -93,6 +96,7 @@ class AbhaRegistrationFragment : BaseFragment() {
|
|||||||
|
|
||||||
navigateToUserDetailsFragment(userData._id)
|
navigateToUserDetailsFragment(userData._id)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -66,14 +66,14 @@ class ReviewDetailsRegistrationFragment : BaseFragment() {
|
|||||||
// addDataToFirebase()
|
// addDataToFirebase()
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
R.string.internt_not_local,
|
R.string.local,
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
navigateToUserListFragment()
|
navigateToUserListFragment()
|
||||||
} else {
|
} else {
|
||||||
Toast.makeText(
|
Toast.makeText(
|
||||||
requireContext(),
|
requireContext(),
|
||||||
R.string.internt_not_local,
|
R.string.local,
|
||||||
Toast.LENGTH_SHORT
|
Toast.LENGTH_SHORT
|
||||||
).show()
|
).show()
|
||||||
navigateToUserListFragment()
|
navigateToUserListFragment()
|
||||||
@@ -183,6 +183,11 @@ class ReviewDetailsRegistrationFragment : BaseFragment() {
|
|||||||
val version = pInfo.versionName
|
val version = pInfo.versionName
|
||||||
userData.appVersion = version
|
userData.appVersion = version
|
||||||
|
|
||||||
|
userData.createdAt = SimpleDateFormat(
|
||||||
|
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
|
||||||
|
).format(Calendar.getInstance().time)
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,9 @@ import com.example.hposregistration.ui.viewmodels.RegistrationViewModel
|
|||||||
import dagger.hilt.android.AndroidEntryPoint
|
import dagger.hilt.android.AndroidEntryPoint
|
||||||
import `in`.sminnovations.hposregistration.R
|
import `in`.sminnovations.hposregistration.R
|
||||||
import `in`.sminnovations.hposregistration.databinding.FragmentUserDetailsRegistrationBinding
|
import `in`.sminnovations.hposregistration.databinding.FragmentUserDetailsRegistrationBinding
|
||||||
|
import java.text.SimpleDateFormat
|
||||||
|
import java.util.Calendar
|
||||||
|
import java.util.Locale
|
||||||
|
|
||||||
|
|
||||||
@AndroidEntryPoint
|
@AndroidEntryPoint
|
||||||
@@ -333,10 +336,12 @@ class UserDetailsRegistrationFragment : Fragment() {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
userData.createdAt = SimpleDateFormat(
|
||||||
|
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
|
||||||
|
).format(Calendar.getInstance().time)
|
||||||
|
|
||||||
return true
|
return true
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package com.example.hposregistration.ui.viewmodels
|
|||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.net.Uri
|
import android.net.Uri
|
||||||
|
import android.util.Log
|
||||||
import androidx.lifecycle.LiveData
|
import androidx.lifecycle.LiveData
|
||||||
import androidx.lifecycle.MutableLiveData
|
import androidx.lifecycle.MutableLiveData
|
||||||
import androidx.lifecycle.ViewModel
|
import androidx.lifecycle.ViewModel
|
||||||
@@ -89,8 +90,9 @@ class RegistrationViewModel @Inject constructor(
|
|||||||
data.localFlag = true
|
data.localFlag = true
|
||||||
mainRepository.updateCSVFieldById(
|
mainRepository.updateCSVFieldById(
|
||||||
data._id,
|
data._id,
|
||||||
true
|
true)
|
||||||
)
|
// data.isCSVCreated = false
|
||||||
|
Log.d("DownloadDebugcsv", "Setting isCSVCreated to false for ${data._id}")
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -60,7 +60,7 @@
|
|||||||
<string name="mobile_number">Mobile Number</string>
|
<string name="mobile_number">Mobile Number</string>
|
||||||
<string name="edit">Edit</string>
|
<string name="edit">Edit</string>
|
||||||
<string name="user_details">User Details</string>
|
<string name="user_details">User Details</string>
|
||||||
<string name="internet_is_not_available_and_there_is_no_data_available_in_local_db">Internet is not available and there is no Data available in Local DB</string>
|
<string name="internet_is_not_available_and_there_is_no_data_available_in_local_db">there is no Data available in Local DB</string>
|
||||||
<string name="user_id">User ID: %1$s</string>
|
<string name="user_id">User ID: %1$s</string>
|
||||||
<string name="abha_number">Abha Number: %1$s</string>
|
<string name="abha_number">Abha Number: %1$s</string>
|
||||||
<string name="aadhar_number_details">Aadhar Number: %1$s</string>
|
<string name="aadhar_number_details">Aadhar Number: %1$s</string>
|
||||||
@@ -104,6 +104,7 @@
|
|||||||
<string name="center_name_error">Center name can\'t be empty or less than 3 characters</string>
|
<string name="center_name_error">Center name can\'t be empty or less than 3 characters</string>
|
||||||
<string name="registration_success">Registration Done Successfully</string>
|
<string name="registration_success">Registration Done Successfully</string>
|
||||||
<string name="internt_not_local">Internet not available, test details stored locally</string>
|
<string name="internt_not_local">Internet not available, test details stored locally</string>
|
||||||
|
<string name="local">test details stored locally</string>
|
||||||
<string name="enter_details_properly">Please enter all the details properly</string>
|
<string name="enter_details_properly">Please enter all the details properly</string>
|
||||||
<string name="enter_valid_birth_year">Please enter a valid birth year between 1900 and 2023</string>
|
<string name="enter_valid_birth_year">Please enter a valid birth year between 1900 and 2023</string>
|
||||||
<string name="fill_field">Please fill the field</string>
|
<string name="fill_field">Please fill the field</string>
|
||||||
|
|||||||
Reference in New Issue
Block a user