Browse Source

added changes

PankajBranch
Hemant Khadase 2 years ago
parent
commit
c0fbd9fd56
14 changed files with 1262 additions and 1026 deletions
  1. +12
    -3
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  2. +78
    -66
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  3. +120
    -106
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  4. +114
    -101
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
  5. +584
    -554
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  6. +26
    -11
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  7. +22
    -6
      app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt
  8. +29
    -30
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt
  9. +54
    -30
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  10. +43
    -34
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
  11. +27
    -13
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
  12. +115
    -57
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  13. +2
    -1
      app/src/main/res/layout/fragment_bajajfd_step_three.xml
  14. +36
    -14
      app/src/main/res/layout/fragment_bajajfd_step_two.xml

+ 12
- 3
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt View File

@ -88,7 +88,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
viewModel.getStepsCount(fdStepsCount, token)
viewModel.getStepsCount(fdStepsCount, token, this)
viewModel.getStepsCountMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
@ -121,6 +121,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
@ -158,7 +161,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest
Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest))
viewModel.getClientDetails(getClientDetailsRequest, token)
viewModel.getClientDetails(getClientDetailsRequest, token, this)
viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
@ -189,6 +192,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
@ -296,7 +302,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN
checkFDKYCRequest.NiveshClientCode =
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString()
viewModel.checkFDKYC(checkFDKYCRequest, token)
viewModel.checkFDKYC(checkFDKYCRequest, token, this)
viewModel.getFDKYCMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
@ -330,6 +336,9 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}


+ 78
- 66
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt View File

@ -89,42 +89,43 @@ class StepFourBajajFDFragment : BaseFragment() {
}
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
stepFourBajajFDViewModel.saveFDOtherData(data, token)
stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->" + response.data.toString())
val saveFDOtherDataResponse: SaveFDOtherDataResponse =
Gson().fromJson(
response.data?.toString(),
SaveFDOtherDataResponse::class.java
)
saveFDOtherDataResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
(activity as BajajFdMainActivity).stepFourApi(payUrl, value)
// paymentDialog(payUrl, value)
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
saveFDOtherDataResponse.Response.Errors[0].ErrorMessage
)
}
stepFourBajajFDViewModel.saveFDOtherData(data, token, activity as BajajFdMainActivity)
stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->" + response.data.toString())
val saveFDOtherDataResponse: SaveFDOtherDataResponse =
Gson().fromJson(
response.data?.toString(),
SaveFDOtherDataResponse::class.java
)
saveFDOtherDataResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
(activity as BajajFdMainActivity).stepFourApi(payUrl, value)
// paymentDialog(payUrl, value)
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
saveFDOtherDataResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}
@ -139,51 +140,55 @@ class StepFourBajajFDFragment : BaseFragment() {
private fun customerListApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (getCodeResponse.Response.GetCodesList.isNotEmpty()) {
listOfCustomer = getCodeResponse.Response.GetCodesList
setUpRecyclerView(listOfCustomer)
}
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
)
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.customerCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(
getCodeRequest,
Constants.token,
activity as BajajFdMainActivity
)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (getCodeResponse.Response.GetCodesList.isNotEmpty()) {
listOfCustomer = getCodeResponse.Response.GetCodesList
setUpRecyclerView(listOfCustomer)
}
}
// 650 -> refreshToken()
else -> {
showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
}
}
is Resource.DataError -> {
}
}
}
}
private fun setUpRecyclerView(getCustomerList: MutableList<GetCodes>) {
@ -201,7 +206,11 @@ class StepFourBajajFDFragment : BaseFragment() {
getFDDetailsRequest.NiveshClientCode =
(mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
getFDDetailsRequest.UniqueId = uniqueId
stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetails(
getFDDetailsRequest,
Constants.token,
activity as BajajFdMainActivity
)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
@ -245,6 +254,9 @@ class StepFourBajajFDFragment : BaseFragment() {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}


+ 120
- 106
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt View File

@ -178,7 +178,7 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.category)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getCode(getCodeRequest, token)
stepOneBajajFDViewModel.getCode(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getCodeMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
@ -223,6 +223,9 @@ class StepOneBajajFDFragment : BaseFragment() {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
@ -234,7 +237,7 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.minAmountCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token)
stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getMinAmountMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
@ -270,6 +273,9 @@ class StepOneBajajFDFragment : BaseFragment() {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
@ -281,7 +287,7 @@ class StepOneBajajFDFragment : BaseFragment() {
getCodeRequest.Category = getString(R.string.MaxAmountCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token)
stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getMaxAmountMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
@ -311,6 +317,9 @@ class StepOneBajajFDFragment : BaseFragment() {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
@ -336,55 +345,59 @@ class StepOneBajajFDFragment : BaseFragment() {
}
private fun maturityAmountApi(tenure: Int, interest: Double) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0 && binding.spInterestPayout.text.toString()
.isNotEmpty()
) {
val maturityAmountRequest = GetMaturityAmountRequest()
maturityAmountRequest.FDProvider = getString(R.string.bajaj)
maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt()
maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString()
maturityAmountRequest.Tenure = tenure
maturityAmountRequest.Interest = interest
stepOneBajajFDViewModel.getMaturityAmount(maturityAmountRequest)
stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getMaturityAmountResponse =
Gson().fromJson(
response.data?.toString(),
GetCalculateMaturityAmountResponse::class.java
)
getMaturityAmountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
binding.tvMaturityAmount.text =
getString(R.string.rs).plus(" ").plus(
getMaturityAmountResponse.Response.MaturityAmount.toString()
)
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getMaturityAmountResponse.Response.Errors[0].ErrorMessage
if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0 && binding.spInterestPayout.text.toString()
.isNotEmpty()
) {
val maturityAmountRequest = GetMaturityAmountRequest()
maturityAmountRequest.FDProvider = getString(R.string.bajaj)
maturityAmountRequest.FDAmount = binding.edtAmount.text.toString().toInt()
maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString()
maturityAmountRequest.Tenure = tenure
maturityAmountRequest.Interest = interest
stepOneBajajFDViewModel.getMaturityAmount(
maturityAmountRequest,
activity as BajajFdMainActivity
)
stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getMaturityAmountResponse =
Gson().fromJson(
response.data?.toString(),
GetCalculateMaturityAmountResponse::class.java
)
getMaturityAmountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
binding.tvMaturityAmount.text =
getString(R.string.rs).plus(" ").plus(
getMaturityAmountResponse.Response.MaturityAmount.toString()
)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getMaturityAmountResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(
activity as BajajFdMainActivity,
message
)
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(
activity as BajajFdMainActivity,
message
)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}
@ -432,77 +445,78 @@ class StepOneBajajFDFragment : BaseFragment() {
}
private fun getRatesApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getRatesRequest = GetRatesRequest()
getRatesRequest.fdProvider = getString(R.string.bajaj)
getRatesRequest.frequency = binding.spInterestPayout.text.toString()
if (binding.swSeniorCitizen.isChecked) {
getRatesRequest.type = getString(R.string.seniorCitizen)
} else {
getRatesRequest.type = getString(R.string.nonSeniorCitizen)
}
stepOneBajajFDViewModel.getRates(getRatesRequest, token)
stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getRatesResponse: GetRatesResponse =
Gson().fromJson(response.data?.toString(), GetRatesResponse::class.java)
getRatesResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (listOfTenure.isNotEmpty()) {
listOfTenure.clear()
}
listOfTenure = getRatesResponse.Response.ROIDatalist
// Tenure
if (listOfTenure.isNotEmpty()) {
listOfTenure.sortWith { lhs: ROIDataList, rhs: ROIDataList ->
rhs.Tenure.compareTo(
lhs.Tenure
)
}
binding.ORLayout.visibility = View.VISIBLE
val tenureAdapter =
ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfTenure
)
binding.spTenure.setAdapter(tenureAdapter)
binding.spTenure.setText(
tenureAdapter.getItem(0)?.Tenure.plus(
" Months | "
).plus(tenureAdapter.getItem(0)?.ROI).plus(" %"), false
val getRatesRequest = GetRatesRequest()
getRatesRequest.fdProvider = getString(R.string.bajaj)
getRatesRequest.frequency = binding.spInterestPayout.text.toString()
if (binding.swSeniorCitizen.isChecked) {
getRatesRequest.type = getString(R.string.seniorCitizen)
} else {
getRatesRequest.type = getString(R.string.nonSeniorCitizen)
}
stepOneBajajFDViewModel.getRates(getRatesRequest, token, activity as BajajFdMainActivity)
stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
val getRatesResponse: GetRatesResponse =
Gson().fromJson(response.data?.toString(), GetRatesResponse::class.java)
getRatesResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (listOfTenure.isNotEmpty()) {
listOfTenure.clear()
}
listOfTenure = getRatesResponse.Response.ROIDatalist
// Tenure
if (listOfTenure.isNotEmpty()) {
listOfTenure.sortWith { lhs: ROIDataList, rhs: ROIDataList ->
rhs.Tenure.compareTo(
lhs.Tenure
)
tenure = tenureAdapter.getItem(0)?.Tenure.toString().toInt()
interest = tenureAdapter.getItem(0)?.ROI ?: 0.0
binding.tvROI.text =
tenureAdapter.getItem(0)?.ROI.toString().plus(" %")
setUpRecyclerView()
} else {
binding.ORLayout.visibility = View.GONE
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getRatesResponse.Response.Errors[0].ErrorMessage
binding.ORLayout.visibility = View.VISIBLE
val tenureAdapter =
ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfTenure
)
binding.spTenure.setAdapter(tenureAdapter)
binding.spTenure.setText(
tenureAdapter.getItem(0)?.Tenure.plus(
" Months | "
).plus(tenureAdapter.getItem(0)?.ROI).plus(" %"), false
)
tenure = tenureAdapter.getItem(0)?.Tenure.toString().toInt()
interest = tenureAdapter.getItem(0)?.ROI ?: 0.0
binding.tvROI.text =
tenureAdapter.getItem(0)?.ROI.toString().plus(" %")
setUpRecyclerView()
} else {
binding.ORLayout.visibility = View.GONE
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getRatesResponse.Response.Errors[0].ErrorMessage
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}


+ 114
- 101
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt View File

@ -248,16 +248,14 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
private fun uploadDocument(uri: Uri) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
fileExt = fileExtension.extension
encodedFileToBase64(fileExtension)
if (checkPANUploadFile == true || checkPhotoUploadFile == true) {
mapImage["Main ".plus(selectedImage)] = front
} else {
selectedImage?.let { mapImage.put(it, front) }
}
val fileDir: File = requireActivity().cacheDir
val fileExtension = File(fileDir.toString().plus("/").plus(getFileName(uri)))
fileExt = fileExtension.extension
encodedFileToBase64(fileExtension)
if (checkPANUploadFile == true || checkPhotoUploadFile == true) {
mapImage["Main ".plus(selectedImage)] = front
} else {
selectedImage?.let { mapImage.put(it, front) }
}
}
@ -292,71 +290,77 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
private fun uploadDocApi(key: String, imageBase64: String, uploadPosition: Int) {
if (Common.isNetworkAvailable((activity as BajajFdMainActivity))) {
val du = DocumentUpload()
du.Description = key
du.DocumentType = key
du.FDProvider = getString(R.string.bajaj)
du.ImageEncodeToBase64 =
"data:image/" + "." + fileExt + ";base64,".plus(imageBase64) //"data:image/png;base64"
du.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
du.UniqueId = uniqueId
stepThreeBajajFDViewModel.documentsUpload(du, Constants.token)
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("UploadImage", "Response-->" + response.data.toString())
val getUploadResponse: UploadResponse =
Gson().fromJson(response.data?.toString(), UploadResponse::class.java)
getUploadResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
Log.e("check_upload_res", response.message.toString())
if (uploadPosition == mapImage.size) {
Toast.makeText(
requireActivity(),
"".plus(mapImage.size.toString() + " Last Image Uploaded ") +
uploadPosition,
Toast.LENGTH_LONG
).show()
// bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest)
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getUploadResponse.Response.Message
)
val du = DocumentUpload()
du.Description = key
du.DocumentType = key
du.FDProvider = getString(R.string.bajaj)
du.ImageEncodeToBase64 =
"data:image/" + "." + fileExt + ";base64,".plus(imageBase64) //"data:image/png;base64"
du.NiveshClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
du.UniqueId = uniqueId
stepThreeBajajFDViewModel.documentsUpload(
du,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("UploadImage", "Response-->" + response.data.toString())
val getUploadResponse: UploadResponse =
Gson().fromJson(response.data?.toString(), UploadResponse::class.java)
getUploadResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
Log.e("check_upload_res", response.message.toString())
if (uploadPosition == mapImage.size) {
Toast.makeText(
requireActivity(),
"".plus(mapImage.size.toString() + " Last Image Uploaded ") +
uploadPosition,
Toast.LENGTH_LONG
).show()
// bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest)
createFDApi((activity as BajajFdMainActivity).createFDRequest)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getUploadResponse.Response.Message
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}
}
private fun createFDApi(data: CreateFDRequest) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
stepThreeBajajFDViewModel.createFDApi(data, Constants.token)
stepThreeBajajFDViewModel.createFDApi(
data,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
Log.e("createFDApi", "response--> " + response.data.toString())
val createFDApplicationResponse: CreateFDApplicationResponse =
Gson().fromJson(
response.data?.toString(),
@ -387,64 +391,73 @@ class StepThreeBajajFDFragment : BaseFragment() {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}
}
private fun docTypeApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.docType)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepThreeBajajFDViewModel.titleApi(getCodeRequest, Constants.token)
stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
listOfDocType = getCodeResponse.Response.GetCodesList
if (listOfDocType.isNotEmpty()) {
val adapter = ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfDocType
)
binding.spDocType.setAdapter(adapter)
binding.spDocType.setText(
adapter.getItem(0)?.Value,
false
)
setOtherUploadLayout(listOfDocType[0].Value)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.docType)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepThreeBajajFDViewModel.titleApi(
getCodeRequest,
Constants.token,
activity as BajajFdMainActivity
)
stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getCodeResponse: GetCodeResponse =
Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
listOfDocType = getCodeResponse.Response.GetCodesList
if (listOfDocType.isNotEmpty()) {
val adapter = ArrayAdapter(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
R.layout.spinner_dropdown,
listOfDocType
)
binding.spDocType.setAdapter(adapter)
binding.spDocType.setText(
adapter.getItem(0)?.Value,
false
)
setOtherUploadLayout(listOfDocType[0].Value)
}
}
// 650 -> refreshToken()
else -> {
Common.showDialogValidation(
activity as BajajFdMainActivity,
getCodeResponse.Response.Message
)
}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Error -> {
response.message?.let { message ->
Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
is Resource.Loading -> {
}
is Resource.Loading -> {
}
is Resource.DataError -> {
}
}
}
}


+ 584
- 554
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
File diff suppressed because it is too large
View File


+ 26
- 11
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -11,15 +11,18 @@ import android.os.Build
import android.provider.ContactsContract
import android.text.format.DateFormat
import android.util.Patterns
import android.widget.Toast
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.ui.activity.BaseActivity
import kotlinx.coroutines.CoroutineExceptionHandler
import retrofit2.HttpException
import java.io.IOException
import java.net.SocketTimeoutException
import java.net.UnknownHostException
import java.text.SimpleDateFormat
import java.util.*
import java.util.regex.Matcher
@ -36,7 +39,7 @@ class Common {
val connectivityManager = getApplication<NewsApplication>().getSystemService(....
**/
//internet check
fun isNetworkAvailable(activity: BaseActivity): Boolean {
fun isNetworkAvailable(activity: Activity): Boolean {
val connectivityManager = activity.getSystemService(
Context.CONNECTIVITY_SERVICE
) as ConnectivityManager
@ -187,22 +190,34 @@ class Common {
return simpleDateFormat.format(mDate as Date)
}
fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
try {
fun handleResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
// try {
if (response.isSuccessful && response.body() != null) {
response.body()?.let { resultResponse ->
return Resource.Success(resultResponse)
}
}
} catch (t: Throwable) {
return when (t) {
is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// } catch (t: Throwable) {
// return when (t) {
// is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is SocketTimeoutException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// is UnknownHostException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
// }
// }
return Resource.Error(response.message())
}
fun handleError(activity: Activity): CoroutineExceptionHandler {
val handler = CoroutineExceptionHandler { _, exception ->
if (exception is IOException || exception is HttpException){
showDialogValidation(activity, "Response : ".plus( exception.message).plus(" Cause: " ).plus(exception.cause))
}else{
showDialogValidation(activity, "Response : ".plus(exception.localizedMessage?.toString()))
}
}
return Resource.Error(response.message())
return handler
}
fun isMinor(date: String): Boolean {


+ 22
- 6
app/src/main/java/com/nivesh/production/bajajfd/util/Resource.kt View File

@ -1,10 +1,26 @@
package com.nivesh.production.bajajfd.util
sealed class Resource<T>(
val data:T?=null,
val message:String?=null)
{
class Success<T>(data: T):Resource<T>(data)
class Error<T>(message: String,data: T?= null):Resource<T>(data,message)
class Loading<T>:Resource<T>()
val data: T? = null,
var message: String? = null,
val errorCode: Int? = null,
var status: Boolean = true
) {
class Success<T>(data: T) : Resource<T>(data)
class Error<T>(message: String, data: T? = null) : Resource<T>(data, message)
class Loading<T> : Resource<T>()
class DataError<T>(errorCode: Int, message: String, data: T? = null) :
Resource<T>(null, message, errorCode)
override fun toString(): String {
return when (this) {
is Success<*> -> "Success[data=$data]"
is DataError -> "ErrorCode[exception=$errorCode]"
is Loading<T> -> "Loading"
is Error -> "Error[exception=${error(Any())}]"
}
}
}

+ 29
- 30
app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt View File

@ -1,53 +1,52 @@
package com.nivesh.production.bajajfd.viewModel
import android.util.Log
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleError
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getStepsCountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getStepsCount(requestBody: FDStepsCountRequest, token: String) = viewModelScope.launch {
getStepsCountMutableData.postValue(Resource.Loading())
val response = mainRepository.getStepsCountResponse(requestBody, token)
Log.e("response", "-->"+response)
getStepsCountMutableData.postValue(handleRatesResponse(response))
fun getStepsCount(
requestBody: FDStepsCountRequest,
token: String,
activity: Activity
) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getStepsCountMutableData.postValue(Resource.Loading())
val response = mainRepository.getStepsCountResponse(requestBody, token)
getStepsCountMutableData.postValue(handleResponse(response))
}
}
val getClientDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String) =
viewModelScope.launch {
getClientDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
getClientDetailsMutableData.postValue(handleRatesResponse(response))
fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String, activity: Activity) =
viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getClientDetailsMutableData.postValue(Resource.Loading())
val response =
mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
getClientDetailsMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleRatesResponse(response))
}
val getFDOtherMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String) = viewModelScope.launch {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleRatesResponse(response))
}
val getFDKYCMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String) = viewModelScope.launch {
getFDKYCMutableData.postValue(Resource.Loading())
val response = mainRepository.checkFDKYCRequest(requestBody, token)
getFDKYCMutableData.postValue(handleRatesResponse(response))
fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDKYCMutableData.postValue(Resource.Loading())
val response = mainRepository.checkFDKYCRequest(requestBody, token)
getFDKYCMutableData.postValue(handleResponse(response))
}
}
}

+ 54
- 30
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt View File

@ -1,5 +1,6 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@ -9,56 +10,79 @@ import com.nivesh.production.bajajfd.model.GetFDDetailsRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.SaveFDOtherDataRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleRatesResponse(response))
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,
activity: Activity
) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleResponse(response))
}
}
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String) = viewModelScope.launch {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleRatesResponse(response))
fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleResponse(response))
}
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) =
viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) =
viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
fun finaliseFD(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.paymentReQueryResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.paymentReQueryResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
val getFDOtherMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String) = viewModelScope.launch {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleRatesResponse(response))
fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String,
activity: Activity) = viewModelScope.launch(Common.handleError(activity)) {
if (Common.isNetworkAvailable(activity)) {
getFDOtherMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getFDOtherMutableData.postValue(handleResponse(response))
}
}
}

+ 43
- 34
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt View File

@ -1,5 +1,6 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@ -9,7 +10,8 @@ import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Constants.Companion.token
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
@ -17,50 +19,57 @@ import kotlinx.coroutines.launch
class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getCodeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getCodeMutableData.postValue(handleRatesResponse(response))
fun getCode(requestBody: GetCodeRequest, token : String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getCodeMutableData.postValue(handleResponse(response))
}
}
val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getRates(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getRatesResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getRatesResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleResponse(response))
}
}
val getMaturityAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaturityAmount(requestBody: GetMaturityAmountRequest) = viewModelScope.launch {
getMaturityAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token)
getMaturityAmountMutableData.postValue(handleRatesResponse(response))
fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) = viewModelScope.launch (
Common.handleError(activity)
){
if (Common.isNetworkAvailable(activity)) {
getMaturityAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token)
getMaturityAmountMutableData.postValue(handleResponse(response))
}
}
val getMinAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMinAmount(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getMinAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMinAmountMutableData.postValue(handleRatesResponse(response))
fun getMinAmount(requestBody: GetCodeRequest, token : String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMinAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMinAmountMutableData.postValue(handleResponse(response))
}
}
val getMaxAmountMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getMaxAmount(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getMaxAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMaxAmountMutableData.postValue(handleRatesResponse(response))
fun getMaxAmount(requestBody: GetCodeRequest, token : String,activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaxAmountMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
getMaxAmountMutableData.postValue(handleResponse(response))
}
}
// private fun handleRatesResponse(response: retrofit2.Response<JsonObject>): Resource<JsonObject> {
// if (response.isSuccessful) {
// response.body()?.let { resultResponse ->
// return Resource.Success(resultResponse)
// }
// }
// return Resource.Error(response.message())
//
// }
}

+ 27
- 13
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt View File

@ -1,5 +1,6 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
@ -9,31 +10,44 @@ import com.nivesh.production.bajajfd.model.DocumentUpload
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getTitleMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun titleApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleRatesResponse(response))
fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleResponse(response))
}
}
val getDocumentUploadMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun documentsUpload(documentUpload: DocumentUpload, token: String) = viewModelScope.launch {
getDocumentUploadMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(documentUpload, token)
getDocumentUploadMutableData.postValue(handleRatesResponse(response))
fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getDocumentUploadMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(documentUpload, token)
getDocumentUploadMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleRatesResponse(response))
fun createFDApi(getRatesRequest: CreateFDRequest, token: String, activity: Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleResponse(response))
}
}
}

+ 115
- 57
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt View File

@ -1,114 +1,172 @@
package com.nivesh.production.bajajfd.viewModel
import android.app.Activity
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
val getPanCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
getPanCheckMutableData.postValue(handleRatesResponse(response))
fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
getPanCheckMutableData.postValue(handleResponse(response))
}
}
val getTitleMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun titleApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleRatesResponse(response))
fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getTitleMutableData.postValue(Resource.Loading())
val response = mainRepository.titleCheck(getCodeRequest, token)
getTitleMutableData.postValue(handleResponse(response))
}
}
val getGenderMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun genderApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getGenderMutableData.postValue(Resource.Loading())
val response = mainRepository.genderCheck(getCodeRequest, token)
getGenderMutableData.postValue(handleRatesResponse(response))
fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getGenderMutableData.postValue(Resource.Loading())
val response = mainRepository.genderCheck(getCodeRequest, token)
getGenderMutableData.postValue(handleResponse(response))
}
}
val getAnnualIncomeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getAnnualIncomeMutableData.postValue(Resource.Loading())
val response = mainRepository.annualIncomeCheck(getCodeRequest, token)
getAnnualIncomeMutableData.postValue(handleRatesResponse(response))
fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getAnnualIncomeMutableData.postValue(Resource.Loading())
val response = mainRepository.annualIncomeCheck(getCodeRequest, token)
getAnnualIncomeMutableData.postValue(handleResponse(response))
}
}
val getRelationShipMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun relationShipApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getRelationShipMutableData.postValue(Resource.Loading())
val response = mainRepository.relationShipCheck(getCodeRequest, token)
getRelationShipMutableData.postValue(handleRatesResponse(response))
fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getRelationShipMutableData.postValue(Resource.Loading())
val response = mainRepository.relationShipCheck(getCodeRequest, token)
getRelationShipMutableData.postValue(handleResponse(response))
}
}
val getMaritalStatusMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getMaritalStatusMutableData.postValue(Resource.Loading())
val response = mainRepository.maritalStatusCheck(getCodeRequest, token)
getMaritalStatusMutableData.postValue(handleRatesResponse(response))
fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getMaritalStatusMutableData.postValue(Resource.Loading())
val response = mainRepository.maritalStatusCheck(getCodeRequest, token)
getMaritalStatusMutableData.postValue(handleResponse(response))
}
}
val getOccupationMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun occupationApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getOccupationMutableData.postValue(Resource.Loading())
val response = mainRepository.occupationCheck(getCodeRequest, token)
getOccupationMutableData.postValue(handleRatesResponse(response))
fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getOccupationMutableData.postValue(Resource.Loading())
val response = mainRepository.occupationCheck(getCodeRequest, token)
getOccupationMutableData.postValue(handleResponse(response))
}
}
val getStateMasterMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun stateApi(token: String) = viewModelScope.launch {
getStateMasterMutableData.postValue(Resource.Loading())
val response = mainRepository.stateCheck( token)
getStateMasterMutableData.postValue(handleRatesResponse(response))
fun stateApi(token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getStateMasterMutableData.postValue(Resource.Loading())
val response = mainRepository.stateCheck(token)
getStateMasterMutableData.postValue(handleResponse(response))
}
}
val getCityListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun cityListApi(cityRequest: CityRequest, token: String) = viewModelScope.launch {
getCityListMutableData.postValue(Resource.Loading())
val response = mainRepository.cityCheck(cityRequest, token)
getCityListMutableData.postValue(handleRatesResponse(response))
fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getCityListMutableData.postValue(Resource.Loading())
val response = mainRepository.cityCheck(cityRequest, token)
getCityListMutableData.postValue(handleResponse(response))
}
}
val getFDBankListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun bankListApi( token: String) = viewModelScope.launch {
getFDBankListMutableData.postValue(Resource.Loading())
val response = mainRepository.bankListCheck( token)
getFDBankListMutableData.postValue(handleRatesResponse(response))
fun bankListApi( token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDBankListMutableData.postValue(Resource.Loading())
val response = mainRepository.bankListCheck(token)
getFDBankListMutableData.postValue(handleResponse(response))
}
}
val getifscCodeCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeApi(ifsc : String) = viewModelScope.launch {
getifscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getifscCodeCheckMutableData.postValue(handleRatesResponse(response))
fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getifscCodeCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeCheck(ifsc)
getifscCodeCheckMutableData.postValue(handleResponse(response))
}
}
val getifscCodeDetailsCheckMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun ifscCodeDetailsApi(ifsc : String, token: String) = viewModelScope.launch {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response))
fun ifscCodeDetailsApi(ifsc : String, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
getifscCodeDetailsCheckMutableData.postValue(handleResponse(response))
}
}
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleRatesResponse(response))
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleResponse(response))
}
}
val getFDResponseMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleRatesResponse(response))
fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch(
Common.handleError(activity)
) {
if (Common.isNetworkAvailable(activity)) {
getFDResponseMutableData.postValue(Resource.Loading())
val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
getFDResponseMutableData.postValue(handleResponse(response))
}
}
}

+ 2
- 1
app/src/main/res/layout/fragment_bajajfd_step_three.xml View File

@ -165,8 +165,9 @@
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/addressProofType"
android:inputType="none"
android:padding="@dimen/margin_5"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14"
tools:layout_editor_absoluteY="230dp" />


+ 36
- 14
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -193,11 +193,12 @@
android:id="@+id/spTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="@dimen/margin_5"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectTitle"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -222,8 +223,9 @@
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectGender"
android:inputType="none"
android:padding="@dimen/margin_5"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -296,7 +298,10 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
@ -305,9 +310,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/enterOccupation"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -317,7 +323,10 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
@ -326,9 +335,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectIncome"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -374,8 +384,9 @@
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectMaritalStatus"
android:inputType="none"
android:padding="@dimen/margin_5"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -465,7 +476,10 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
@ -474,9 +488,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectState"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/tlState"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -486,7 +501,10 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
android:layout_marginStart="@dimen/margin_5"
android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false">
<com.google.android.material.textfield.MaterialAutoCompleteTextView
@ -495,9 +513,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectCity"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/tlCity"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -567,9 +586,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectTitle"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -675,9 +695,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectRelation"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>
@ -750,9 +771,10 @@
android:layout_height="wrap_content"
android:background="@drawable/rounded_corner_with_line"
android:hint="@string/selectRelation"
android:padding="@dimen/margin_5"
android:inputType="none"
android:labelFor="@+id/spInterestPayout"
android:textColorHint="#757575"
android:textColorHint="@color/greyColor2"
android:textSize="@dimen/text_size_14" />
</com.google.android.material.textfield.TextInputLayout>


Loading…
Cancel
Save

Powered by TurnKey Linux.