CSV FILE CREATED- for complete offline mode

This commit is contained in:
Mariya
2023-12-19 13:38:31 +05:30
parent e764e69420
commit 7c7ed3b314
7 changed files with 55 additions and 24 deletions

View File

@@ -60,10 +60,10 @@ class LocalFileDataSource {
"isUnderMedication",
"isUnderTransfusion",
"sickleCellHistory",
"userImageURL",
"registeredBy",
"createdAt",
"registrationCenterName"
"registrationCenterName",
"userImageURL"
)
csvWriter.writeNext(header)
@@ -95,10 +95,10 @@ class LocalFileDataSource {
data.isUnderMedication?.toString() ?: "",
data.isUnderTransfusion?.toString() ?: "",
data.sickleCellHistory ?: "",
data.userImageURL,
data.registeredBy ?: "",
data.createdAt ?: "",
data.registrationCenterName ?: ""
data.registrationCenterName ?: "",
data.userImageURL
)
csvWriter.writeNext(row)

View File

@@ -235,15 +235,22 @@ class UserListFragment : BaseFragment() {
private fun downloadLocalDBData(dialog: DialogInterface) {
var csvDownloaded = false
viewModel.allUserData.observe(viewLifecycleOwner) { userDataList ->
try {
if (!csvDownloaded) {
val downloadList = mutableListOf<UserData>()
userDataList.forEach { userData ->
Log.d("DownloadDebug", "userData: $userData, isCSVCreated: ${userData.isCSVCreated}")
if (!userData.isCSVCreated) {
Log.d(
"DownloadDebug",
"userData: $userData, isCSVCreated: ${userData.isCSVCreated}"
)
// if (!userData.isCSVCreated) {
// userData.isCSVCreated = false
downloadList.add(userData)
}
// }
}
@@ -253,9 +260,16 @@ class UserListFragment : BaseFragment() {
if (downloadList.isNotEmpty()) {
// Call ViewModel function to create CSV with filtered data
viewModel.createCSV(downloadList, requireContext())
Toast.makeText(requireContext(), "CSV file downloaded successfully", Toast.LENGTH_SHORT).show()
csvDownloaded = true
Toast.makeText(
requireContext(),
"CSV file downloaded successfully",
Toast.LENGTH_SHORT
).show()
} else {
Toast.makeText(requireContext(), "No data to download", Toast.LENGTH_SHORT).show()
Toast.makeText(requireContext(), "No data to download", Toast.LENGTH_SHORT)
.show()
}
}
} catch (e: Exception) {
e.printStackTrace()

View File

@@ -20,6 +20,9 @@ import dagger.hilt.android.AndroidEntryPoint
import `in`.sminnovations.hposregistration.R
import `in`.sminnovations.hposregistration.databinding.FragmentAbhaRegistrationBinding
import org.json.JSONObject
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
@AndroidEntryPoint
class AbhaRegistrationFragment : BaseFragment() {
@@ -93,6 +96,7 @@ class AbhaRegistrationFragment : BaseFragment() {
navigateToUserDetailsFragment(userData._id)
}
}
}

View File

@@ -66,14 +66,14 @@ class ReviewDetailsRegistrationFragment : BaseFragment() {
// addDataToFirebase()
Toast.makeText(
requireContext(),
R.string.internt_not_local,
R.string.local,
Toast.LENGTH_SHORT
).show()
navigateToUserListFragment()
} else {
Toast.makeText(
requireContext(),
R.string.internt_not_local,
R.string.local,
Toast.LENGTH_SHORT
).show()
navigateToUserListFragment()
@@ -183,6 +183,11 @@ class ReviewDetailsRegistrationFragment : BaseFragment() {
val version = pInfo.versionName
userData.appVersion = version
userData.createdAt = SimpleDateFormat(
"yyyy-MM-dd HH:mm:ss", Locale.getDefault()
).format(Calendar.getInstance().time)
}
}

View File

@@ -15,6 +15,9 @@ import com.example.hposregistration.ui.viewmodels.RegistrationViewModel
import dagger.hilt.android.AndroidEntryPoint
import `in`.sminnovations.hposregistration.R
import `in`.sminnovations.hposregistration.databinding.FragmentUserDetailsRegistrationBinding
import java.text.SimpleDateFormat
import java.util.Calendar
import java.util.Locale
@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
}
}

View File

@@ -2,6 +2,7 @@ package com.example.hposregistration.ui.viewmodels
import android.content.Context
import android.net.Uri
import android.util.Log
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
@@ -89,8 +90,9 @@ class RegistrationViewModel @Inject constructor(
data.localFlag = true
mainRepository.updateCSVFieldById(
data._id,
true
)
true)
// data.isCSVCreated = false
Log.d("DownloadDebugcsv", "Setting isCSVCreated to false for ${data._id}")
}
}
}

View File

@@ -60,7 +60,7 @@
<string name="mobile_number">Mobile Number</string>
<string name="edit">Edit</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="abha_number">Abha 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="registration_success">Registration Done Successfully</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_valid_birth_year">Please enter a valid birth year between 1900 and 2023</string>
<string name="fill_field">Please fill the field</string>