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/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt index 70a50f4..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 @@ -1,12 +1,15 @@ package com.nivesh.production.bajajfd.ui.activity import android.annotation.SuppressLint +import android.app.Dialog import android.graphics.Bitmap import android.graphics.drawable.Drawable import android.os.Bundle import android.util.Log +import android.view.WindowManager import android.webkit.WebView import android.webkit.WebViewClient +import android.widget.TextView import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import androidx.viewpager.widget.ViewPager @@ -28,7 +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.net.URLEncoder class BajajFdMainActivity : BaseActivity() { @@ -50,10 +52,12 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - var UniqueId :String = "" + var UniqueId: String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array + var dialogWebView: Dialog? = null + var LoginRole: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -71,6 +75,7 @@ class BajajFdMainActivity : BaseActivity() { FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] + LoginRole = 5 if (Common.isNetworkAvailable(this)) { getStepsCountApi() } @@ -145,7 +150,7 @@ class BajajFdMainActivity : BaseActivity() { 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 = "" @@ -370,7 +375,6 @@ class BajajFdMainActivity : BaseActivity() { stepThreeBajajFDFragment.displayReceivedData(data) } - // step 3 response fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) @@ -388,52 +392,48 @@ 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) -// tvCancel.setOnClickListener { -// dialogWebView.dismiss() -// } -// -// val lp = WindowManager.LayoutParams() -// 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() -// 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()) -// dialogWebView.show() - - val webView = WebView(this@BajajFdMainActivity) - setContentView(webView) - val postData = "name=${URLEncoder.encode("msg", "UTF-8")}" + - "&value=${URLEncoder.encode(value, "UTF-8")}" - webView.postUrl(payUrl, postData.toByteArray()) - } - - class MyWebViewClient : WebViewClient() { - override fun onPageStarted(view: WebView, url: String, favicon: Bitmap?) { - super.onPageStarted(view, url, favicon) - Log.e("onPageStarted", "-->$url") + 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() } - - override fun onPageFinished(view: WebView, url: String) { - super.onPageFinished(view, url) + val lp = WindowManager.LayoutParams() + 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.settings.javaScriptEnabled = true + wVPay.settings.domStorageEnabled = true + 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") + if (url.isNotEmpty() && url.contains("https://uat.nivesh.com/bajajFD/OrderStatus")) { + if (dialogWebView != null && dialogWebView!!.isShowing) { + dialogWebView!!.dismiss() + paymentReQueryApi() + } + } + } } + dialogWebView!!.show() } - private fun paymentReQueryApi() { + fun paymentReQueryApi() { if (Common.isNetworkAvailable(this)) { val paymentReQueryRequest = PaymentReQueryRequest() paymentReQueryRequest.UniqueId = UniqueId - paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + paymentReQueryRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) viewModel.getPaymentReQueryMutableData.observe(this) { response -> when (response) { @@ -452,7 +452,7 @@ class BajajFdMainActivity : BaseActivity() { } else { binding.viewPager.currentItem = 3 } - stepFiveBajajFDFragment.getData() + stepFiveBajajFDFragment.getData(paymentReQueryResponse) } 650 -> refreshToken("") else -> { 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 ceb6f7d..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,23 +23,12 @@ 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(){ + fun getData(paymentReQueryResponse: PaymentReQueryResponse) { + } @@ -48,6 +38,11 @@ class StepFiveBajajFDFragment : Fragment() { 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/StepTwoBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt index bb96c60..b097ecf 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 @@ -710,7 +710,6 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails = (activity as BajajFdMainActivity).nomineeGuardianDetails - (activity as BajajFdMainActivity).createFDApplicantRequest.UniqueId = (activity as BajajFdMainActivity).UniqueId (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest = (activity as BajajFdMainActivity).createFDApplicantRequest 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/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 @@