diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt index ece5279..4a7b331 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt @@ -64,7 +64,7 @@ interface ApiInterface { @POST("PaymentRequery") suspend fun paymentReQuery( - @Body requestBody: RequestBody, + @Body requestBody: PaymentReQueryRequest, @Header("token") token: String ): Response @@ -146,7 +146,7 @@ interface ApiInterface { ): Response @GET("GetFDBankList?FDProvider=Bajaj") - suspend fun bankListApi(@Header("token") token: String): Response + suspend fun bankListApi(@Header("token") token: String, @Query("Language") language : String): Response @GET("GetIFSC_Autofill?") suspend fun getIFSCApi(@Query("prefix") ifsc : String): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt index 5c0e70e..a5c8d1e 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationRequest.kt @@ -6,7 +6,5 @@ data class CreateFDApplicationRequest( var FDInvestmentDetails: FDInvestmentDetails? = null, var FdBankDetails: FdBankDetails? = null, var NomineeDetails: NomineeDetails? = null, - var NomineeGuardianDetails: NomineeGuardianDetails ? = null, - var UniqueId: String? = "" - + var NomineeGuardianDetails: NomineeGuardianDetails ? = null ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt index 060bb45..276ca56 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FDInvestmentDetails.kt @@ -12,5 +12,7 @@ data class FDInvestmentDetails( var NiveshClientCode: String? = null, var Provider: String? = null, var Source: String? = null, - var Tenure: Int? = 0 + var Tenure: Int? = 0, + var UniqueId: String? = "" + ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt new file mode 100644 index 0000000..b7391d7 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryRequest.kt @@ -0,0 +1,6 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryRequest( + var NiveshClientCode: String? = "", + var UniqueId: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt new file mode 100644 index 0000000..82d78d9 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/PaymentReQueryResponse.kt @@ -0,0 +1,5 @@ +package com.nivesh.production.bajajfd.model + +data class PaymentReQueryResponse( + val Response: ResponseXXXXXXXXXXXXXXX +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt new file mode 100644 index 0000000..02339b2 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXXXXX.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class ResponseXXXXXXXXXXXXXXX( + val Errors: List, + val Message: String, + val Status: String, + val StatusCode: Int +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index 5ba37a4..81ab7a2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -44,8 +44,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun finaliseKYCResponse(getRatesRequest: GetRatesRequest, token: String) = apiInterface.getRates(getRatesRequest, token) - suspend fun paymentReQueryResponse(getRatesRequest: GetRatesRequest, token: String) = - apiInterface.getRates(getRatesRequest, token) + suspend fun paymentReQueryResponse(getRatesRequest: PaymentReQueryRequest, token: String) = + apiInterface.paymentReQuery(getRatesRequest, token) suspend fun panCheck(panCheck: PanCheckRequest, token: String) = apiInterface.panCheckApi(panCheck, token) @@ -74,8 +74,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun cityCheck(cityRequest: CityRequest, token: String) = apiInterface.cityApi(cityRequest, token) - suspend fun bankListCheck(token: String) = - apiInterface.bankListApi(token) + suspend fun bankListCheck(token: String, language: String) = + apiInterface.bankListApi(token, language) suspend fun ifscCodeCheck(str: String) = apiInterface.getIFSCApi(str) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index aeaa779..3758c57 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt @@ -31,9 +31,6 @@ import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.* -import java.io.BufferedReader -import java.io.InputStream -import java.io.InputStreamReader class BajajFdMainActivity : BaseActivity() { @@ -55,12 +52,12 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - + var UniqueId: String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array - - var valur:String="" + var dialogWebView: Dialog? = null + var LoginRole: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -78,6 +75,7 @@ class BajajFdMainActivity : BaseActivity() { FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] + LoginRole = 5 if (Common.isNetworkAvailable(this)) { getStepsCountApi() } @@ -92,8 +90,7 @@ class BajajFdMainActivity : BaseActivity() { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) fdStepsCount.NiveshClientCode = "8872" - //hemant client code =8872 /60476 - + // client code =8872 /60476 viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { @@ -110,7 +107,7 @@ class BajajFdMainActivity : BaseActivity() { stepCount = stepsCountResponse.Response.StepsCount getClientDetailsApi(stepsCountResponse.Response.StepsCount) } - 650 -> refreshToken(fdStepsCount) + 650 -> refreshToken("") else -> { showDialogValidation( this@BajajFdMainActivity, @@ -136,10 +133,10 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun refreshToken(fdStepsCount: FDStepsCountRequest) { - } + private fun refreshToken(fdStepsCount: String) { + } private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { @@ -147,16 +144,13 @@ class BajajFdMainActivity : BaseActivity() { getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "1038" - - //hemant 8872/1038// - - + // 8872/1038 val userRequest = UserRequest() userRequest.UID = 0 userRequest.IPAddress = "" userRequest.Source = getString(R.string.source) userRequest.AppOrWeb = getString(R.string.app) - userRequest.LoggedInRoleId = 5 + userRequest.LoggedInRoleId = LoginRole val deviceInfo = DeviceInfo() deviceInfo.device_id = "" @@ -210,7 +204,6 @@ class BajajFdMainActivity : BaseActivity() { } } - private fun setViewPager(stepsCount: Int) { // steps setting setBackground(selectedShape(), defaultShape(), defaultShape(), defaultShape()) @@ -356,7 +349,6 @@ class BajajFdMainActivity : BaseActivity() { } - // set background for selected/ default step private fun setBackground( drawable: Drawable?, @@ -371,21 +363,20 @@ class BajajFdMainActivity : BaseActivity() { } // step 1 response - fun stepOneApi(data: String?) { + fun stepOneApi(data: String?) { Log.e("stepOneApi", " response ---> $data") binding.viewPager.currentItem = 1 } // step 2 response - fun stepTwoApi(data: CreateFDApplicationResponse) { + fun stepTwoApi(data: CreateFDApplicationResponse) { Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) binding.viewPager.currentItem = 2 stepThreeBajajFDFragment.displayReceivedData(data) } - // step 3 response - fun stepThreeApi(data: CreateFDApplicationResponse) { + fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) // call create fd api binding.viewPager.currentItem = 3 @@ -393,10 +384,7 @@ class BajajFdMainActivity : BaseActivity() { } // step 4 response - fun stepFourApi(payUrl: String, value: String) { - - valur=value - + fun stepFourApi(payUrl: String, value: String) { paymentDialog(payUrl, value) } @@ -404,121 +392,92 @@ class BajajFdMainActivity : BaseActivity() { fun paymentDialog(payUrl: String, value: String) { Log.e("payUrl", "-->$payUrl") Log.e("value", "-->$value") - val dialogWebView = Dialog(this@BajajFdMainActivity) - dialogWebView.setContentView(R.layout.row_fd_pay) - dialogWebView.setCancelable(true) - - val tvCancel = dialogWebView.findViewById(R.id.tvCancel) + dialogWebView = Dialog(this@BajajFdMainActivity) + dialogWebView!!.setContentView(R.layout.row_fd_pay) + dialogWebView!!.setCancelable(true) + val tvCancel = dialogWebView!!.findViewById(R.id.tvCancel) tvCancel.setOnClickListener { - dialogWebView.dismiss() + dialogWebView!!.dismiss() } - val lp = WindowManager.LayoutParams() - lp.copyFrom(dialogWebView.window?.attributes) + lp.copyFrom(dialogWebView!!.window?.attributes) lp.width = WindowManager.LayoutParams.MATCH_PARENT lp.height = WindowManager.LayoutParams.MATCH_PARENT - dialogWebView.window?.attributes = lp - val wVPay = dialogWebView.findViewById(R.id.wVPay) - // wVPay.webViewClient = MyWebViewClient() + dialogWebView!!.window?.attributes = lp + val wVPay = dialogWebView!!.findViewById(R.id.wVPay) wVPay.settings.javaScriptEnabled = true wVPay.settings.domStorageEnabled = true -// val postData = "name=${URLEncoder.encode("msg", "UTF-8")}" + -// "&value=${URLEncoder.encode(value, "UTF-8")}" -// wVPay.postUrl(payUrl, postData.toByteArray()) - -// val webView = WebView(this@BajajFdMainActivity) -// setContentView(webView) -// val postData = "msg=${URLEncoder.encode(value, "UTF-8")}" -// -// Log.e("valueee", "-->$postData") -// -// -// webView.postUrl(payUrl, postData.toByteArray()) -// -// -// - - - - - val iss: InputStream = assets.open("paymentpageform.html") - val size: Int = iss.available() - - val buffer = ByteArray(size) - iss.read(buffer) - - var str = String(buffer) - str = str.replace("cus", value) - - -// val br = BufferedReader( -// InputStreamReader( -// iss.getInputStream() -// ) -// ) -// -// while ((str = br.readLine()) != null) { -// response += line; -// } - - - iss.close() - - wVPay.loadUrl("file:///android_asset/paymentpageform.html") - - - - wVPay.setWebViewClient(object : WebViewClient() { + wVPay.loadData( + "
\n" + " \n" + "
\n" + + "", + "text/html", + "UTF-8" + ) + wVPay.webViewClient = object : WebViewClient() { override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { super.onPageStarted(view, url, favicon) Log.e("onPageStarted", "-->$url") - - - wVPay.loadUrl("file:///android_asset/paymentpageform.html") - - val link1 = "pp" - val link2 = valur - view.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('$link1', '$link2')})()") - - - - if (url.isNotEmpty() && url.contains("CustomerPaymentResponse")) { - + if (url.isNotEmpty() && url.contains("https://uat.nivesh.com/bajajFD/OrderStatus")) { + if (dialogWebView != null && dialogWebView!!.isShowing) { + dialogWebView!!.dismiss() + paymentReQueryApi() + } } } - - }) - - - - // wVPay.loadUrl("file:///android_asset/paymentpageform.html") - - // wVPay.loadDataWithBaseURL("file:///android_asset/", str,"text/html", "UTF-8",null); - // wVPay.loadData(str, "text/html; charset=utf-8", "UTF-8"); - // dialogWebView.show() - - } - -// class MyWebViewClient : WebViewClient() { -// override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { -// super.onPageStarted(view, url, favicon) -// Log.e("onPageStarted", "-->$url") -// -// val link1 = "pp" -// val link2 = valur -// view.loadUrl("javascript:(function(){document.body.innerHTML = document.body.innerHTML.replace('$link1', '$link2')})()") -// -// if (url.isNotEmpty() && url.contains("CustomerPaymentResponse")) { -// -// } -// } -// -// override fun onPageFinished(view: WebView, url: String) { -// super.onPageFinished(view, url) -// } - + } + dialogWebView!!.show() } + fun paymentReQueryApi() { + if (Common.isNetworkAvailable(this)) { + val paymentReQueryRequest = PaymentReQueryRequest() + paymentReQueryRequest.UniqueId = UniqueId + paymentReQueryRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) + viewModel.getPaymentReQueryMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val paymentReQueryResponse: PaymentReQueryResponse = + Gson().fromJson( + response.data?.toString(), + PaymentReQueryResponse::class.java + ) + paymentReQueryResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + if (stepCount == 4) { + binding.viewPager.currentItem = 4 + } else { + binding.viewPager.currentItem = 3 + } + stepFiveBajajFDFragment.getData(paymentReQueryResponse) + } + 650 -> refreshToken("") + else -> { + showDialogValidation( + this@BajajFdMainActivity, + paymentReQueryResponse.Response.Errors[0].ErrorMessage + ) + } + } + } + } + is Resource.Error -> { + response.message?.let { message -> + showDialogValidation(this@BajajFdMainActivity, message) + } + } + is Resource.Loading -> { + } + is Resource.DataError -> { + } + } + } + } + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index cbde8cb..aba6808 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -8,6 +8,7 @@ import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding +import com.nivesh.production.bajajfd.model.PaymentReQueryResponse import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.providerfactory.StepFiveModelProviderFactory import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel @@ -22,28 +23,26 @@ class StepFiveBajajFDFragment : Fragment() { inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? ): View { - _binding = FragmentBajajfdStepFiveBinding.inflate(inflater, container, false) - val root = binding.root - -// val textView: TextView = binding.sectionLabel -// stepFourViewModel.text.observe(viewLifecycleOwner) { -// textView.text = it -// } -// -// binding.btnClick.setOnClickListener { -// bajajFDInterface.stepFourApi("stepFourResponse") -// } - - return root + return binding.root } + fun getData(paymentReQueryResponse: PaymentReQueryResponse) { + + + } + override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) stepFiveBajajFDViewModel = ViewModelProvider( this, StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[StepFiveBajajFDViewModel::class.java] + + binding.btnViewOrder.setOnClickListener { + + } + } override fun onDestroyView() { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 6237cc2..8ca4229 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -5,6 +5,7 @@ import android.util.Log import android.view.LayoutInflater import android.view.View import android.view.ViewGroup +import androidx.core.content.res.ResourcesCompat import androidx.lifecycle.ViewModelProvider import androidx.recyclerview.widget.LinearLayoutManager import com.google.gson.Gson @@ -54,32 +55,43 @@ class StepFourBajajFDFragment : BaseFragment() { } + if ((activity as BajajFdMainActivity).LoginRole == 5) { + binding.btnNext.text = getString(R.string.pay) + binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.green, null)) + }else{ + binding.btnNext.text = getString(R.string.viewOrder) + binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.red, null)) + } + binding.btnNext.setOnClickListener { - selectedList = "" - for (getCodes in listOfCustomer) { - if (getCodes.isSelected) { - selectedList = if (selectedList.isEmpty()) { - getCodes.Value - } else { - selectedList.plus(",").plus(getCodes.Value) + if ((activity as BajajFdMainActivity).LoginRole == 5) { + selectedList = "" + for (getCodes in listOfCustomer) { + if (getCodes.isSelected) { + selectedList = if (selectedList.isEmpty()) { + getCodes.Value + } else { + selectedList.plus(",").plus(getCodes.Value) + } } } - } - Log.e("selectedList", "-->$selectedList") - if (binding.checkBox.isChecked) { - val saveFDOtherDataRequest = SaveFDOtherDataRequest() - saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = uniqueId - saveFDOtherDataRequest.Values = selectedList - saveFDOtherDataRequest.NiveshClientCode = - (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - // bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value) - saveFDOtherData(saveFDOtherDataRequest, payUrl, value) - } else { - showDialogValidation( - activity as BajajFdMainActivity, - resources.getString(R.string.validTermsConditions) - ) + if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { + val saveFDOtherDataRequest = SaveFDOtherDataRequest() + saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) + saveFDOtherDataRequest.UniqueId = uniqueId + saveFDOtherDataRequest.Values = selectedList + saveFDOtherDataRequest.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + // bajajFDInterface.stepFourApi(saveFDOtherDataRequest, payUrl, Value) + saveFDOtherData(saveFDOtherDataRequest, payUrl, value) + } else { + showDialogValidation( + activity as BajajFdMainActivity, + resources.getString(R.string.validTermsConditions) + ) + } + }else{ + // go to view order } } @@ -103,7 +115,6 @@ class StepFourBajajFDFragment : BaseFragment() { when (code) { 200 -> { (activity as BajajFdMainActivity).stepFourApi(payUrl, value) - // paymentDialog(payUrl, value) } // 650 -> refreshToken() else -> { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt index 7e4f9ba..687bed2 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt @@ -154,6 +154,7 @@ class StepOneBajajFDFragment : BaseFragment() { } (activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = "" (activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" + (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).UniqueId (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 4cde771..28087f0 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -2,7 +2,6 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint -import android.app.ActionBar.LayoutParams import android.app.Dialog import android.content.DialogInterface import android.content.Intent @@ -215,7 +214,8 @@ class StepThreeBajajFDFragment : BaseFragment() { mActivity!! ) builder.setTitle("Add Photo!") - builder.setItems(check + builder.setItems( + check ) { dialog: DialogInterface, item: Int -> if (check[item] == "Take Photo") { val permission = ContextCompat.checkSelfPermission( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index aa64d3f..c8f6ee4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt @@ -33,6 +33,7 @@ import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory +import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod @@ -132,7 +133,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } binding.edtDOB.setOnClickListener { removeError(binding.tlDOB) - datePicker(binding.edtDOB) + datePicker(binding.edtDOB, 1) } @@ -390,7 +391,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } binding.edtNomineeDOB.setOnClickListener { removeError(binding.tlNomineeDOB) - datePicker(binding.edtNomineeDOB) + datePicker(binding.edtNomineeDOB, 2) } binding.spNomineeRelation.setText( @@ -401,9 +402,6 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ -> removeError(binding.tlNomineeRelation) } - binding.cbNomineeSameAddress.setOnCheckedChangeListener { _, _ -> - - } // Guardian Details binding.edtGuardianName.addTextChangedListener(object : TextWatcher { @@ -663,7 +661,7 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).nomineeDetails.NomineePincode = 0 // Applicant Nominee Guardian Details - (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = "" + (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = binding.spGuardianRelation.text.toString() (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName = binding.edtGuardianName.text.toString() if (binding.edtGuardianAge.text.toString().isEmpty()) { @@ -712,7 +710,6 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails = (activity as BajajFdMainActivity).nomineeGuardianDetails - (activity as BajajFdMainActivity).createFDApplicantRequest.UniqueId = "" (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest = (activity as BajajFdMainActivity).createFDApplicantRequest @@ -744,6 +741,7 @@ class StepTwoBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { + (activity as BajajFdMainActivity).UniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId (activity as BajajFdMainActivity).stepTwoApi( createFDApplicationResponse ) @@ -929,6 +927,7 @@ class StepTwoBajajFDFragment : BaseFragment() { clientBankList.AccountNumber.toString() ) showHideBankDetail() + } else { showDialogValidation( activity as BajajFdMainActivity, @@ -1015,7 +1014,7 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.rvClientBankList.adapter = bankListAdapter } - private fun datePicker(edtDOB: TextInputEditText) { + private fun datePicker(edtDOB: TextInputEditText, number : Int) { val year = cal.get(Calendar.YEAR) val month = cal.get(Calendar.MONTH) val day = cal.get(Calendar.DAY_OF_MONTH) @@ -1029,6 +1028,15 @@ class StepTwoBajajFDFragment : BaseFragment() { .plus(dayOfMonth.toString()) ) edtDOB.setSelection(edtDOB.text.toString().length) + if (number == 2){ + if (isMinor(years.toString().plus("-").plus(monthOfYear + 1).plus("-") + .plus(dayOfMonth.toString())) + ){ + guardianCodeVisibility(View.VISIBLE) + }else{ + guardianCodeVisibility(View.GONE) + } + } }, year, month, day ) datePickerDialog.datePicker.maxDate = cal.timeInMillis @@ -1038,6 +1046,15 @@ class StepTwoBajajFDFragment : BaseFragment() { datePickerDialog.show() } + private fun guardianCodeVisibility(visibility: Int) { + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + binding.tlGuardianName.visibility = visibility + + } + private fun panCheckApi() { val panCheck = PanCheckRequest() panCheck.clientCode = @@ -1702,7 +1719,7 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun apiForEligibleBankList() { - stepTwoBajajFDViewModel.bankListApi(token, activity as BajajFdMainActivity) + stepTwoBajajFDViewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { @@ -1719,7 +1736,7 @@ class StepTwoBajajFDFragment : BaseFragment() { dialogForBankList(getFDBankListResponse.Response.BankList) } } - // 650 -> refreshToken() + 650 -> refreshToken() else -> { showDialogValidation( activity as BajajFdMainActivity, @@ -1745,6 +1762,11 @@ class StepTwoBajajFDFragment : BaseFragment() { } } + private fun refreshToken() { + + + } + private fun dialogForBankList(bankList: List) { val dialog = Dialog(activity as BajajFdMainActivity) dialog.setContentView(R.layout.layout_bank_list) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 5cee438..732aba4 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -49,4 +49,15 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } } + + val getPaymentReQueryMutableData: MutableLiveData> = MutableLiveData() + fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getPaymentReQueryMutableData.postValue(Resource.Loading()) + val response = mainRepository.paymentReQueryResponse(requestBody, token) + getPaymentReQueryMutableData.postValue(handleResponse(response)) + } + } + + } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt index b5347e5..74af264 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt @@ -5,10 +5,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject -import com.nivesh.production.bajajfd.model.GetCodeRequest -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.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse @@ -67,7 +64,7 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie } } - fun paymentReQuery(getRatesRequest: GetRatesRequest, token: String, + fun paymentReQuery(getRatesRequest: PaymentReQueryRequest, token: String, activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { if (Common.isNetworkAvailable(activity)) { getRatesMutableData.postValue(Resource.Loading()) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt index 2f957dc..7a8d89a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt @@ -13,6 +13,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse1 import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch +import org.intellij.lang.annotations.Language class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { @@ -117,12 +118,12 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } val getFDBankListMutableData: MutableLiveData> = MutableLiveData() - fun bankListApi( token: String,activity : Activity) = viewModelScope.launch( + fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch( Common.handleError(activity) ) { if (Common.isNetworkAvailable(activity)) { getFDBankListMutableData.postValue(Resource.Loading()) - val response = mainRepository.bankListCheck(token) + val response = mainRepository.bankListCheck(token, language) getFDBankListMutableData.postValue(handleResponse(response)) } } diff --git a/app/src/main/res/layout/fragment_bajajfd_step_five.xml b/app/src/main/res/layout/fragment_bajajfd_step_five.xml index effefb9..d507a95 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_five.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_five.xml @@ -156,7 +156,7 @@ - - - Upload Photo Document Upload Aadhar Back Document You can not add more than five accounts - + PAN \ No newline at end of file