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 c253c17..fd46791 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 @@ -148,11 +148,20 @@ interface ApiInterface { @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj") suspend fun bankListApi(@Header("token") token: String): Response - @GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}") - suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response + @GET("WebApi/api/GetIFSC_Autofill") + suspend fun getIFSCApi( + @Query("prefix") + ifsc : String + + ): Response @GET("WebApi/api/GetBankDetailsFromIFSC?") - suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response + suspend fun getIFSCDetailsApi( + @Query("ifsc") + ifsc : String, + @Header("token") + token: String + ): Response @POST("WebApi_Bajaj/api/GetCodes") suspend fun payModeApi( diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt deleted file mode 100644 index 5d988c5..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt +++ /dev/null @@ -1,12 +0,0 @@ -package com.nivesh.production.bajajfd.interfaces - -import com.nivesh.production.bajajfd.model.CreateFDApplicationResponse -import com.nivesh.production.bajajfd.model.CreateFDRequest -import com.nivesh.production.bajajfd.model.SaveFDOtherDataRequest - -interface BajajFDInterface { - fun stepOneApi(data: String?) - fun stepTwoApi(data: CreateFDApplicationResponse) - fun stepThreeApi(data: CreateFDApplicationResponse) - fun stepFourApi( payUrl: String, value: 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 ba07cea..6a850ad 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 @@ -19,7 +19,6 @@ import com.nivesh.production.bajajfd.adapter.DisableAdapter import com.nivesh.production.bajajfd.adapter.SectionsPagerAdapter import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.ActivityBajajFdBinding -import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.fragment.* @@ -34,7 +33,7 @@ import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.* -class BajajFdMainActivity : BaseActivity(), BajajFDInterface { +class BajajFdMainActivity : BaseActivity() { lateinit var binding: ActivityBajajFdBinding private lateinit var viewModel: BajajFDViewModel @@ -87,8 +86,8 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { if (Common.isNetworkAvailable(this)) { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) - fdStepsCount.NiveshClientCode = "72682" - //hemant client code =8872 + fdStepsCount.NiveshClientCode = "60476" + //hemant client code =8872 /60476 viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> @@ -140,7 +139,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { private fun getClientDetailsApi(stepsCount: Int) { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { val getClientDetailsRequest = getClientDetailsRequest() - getClientDetailsRequest.client_code = "72682" + getClientDetailsRequest.client_code = "60476" getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "3435" @@ -148,7 +147,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { val userRequest = UserRequest() - userRequest.UID = 19060 + userRequest.UID = 0 userRequest.IPAddress = "" userRequest.Source = getString(R.string.source) userRequest.AppOrWeb = getString(R.string.app) @@ -367,13 +366,13 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } // step 1 response - override fun stepOneApi(data: String?) { + fun stepOneApi(data: String?) { Log.e("stepOneApi", " response ---> $data") binding.viewPager.currentItem = 1 } // step 2 response - override fun stepTwoApi(data: CreateFDApplicationResponse) { + fun stepTwoApi(data: CreateFDApplicationResponse) { Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) binding.viewPager.currentItem = 2 stepThreeBajajFDFragment.displayReceivedData(data) @@ -381,7 +380,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { // step 3 response - override fun stepThreeApi(data: CreateFDApplicationResponse) { + fun stepThreeApi(data: CreateFDApplicationResponse) { Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) // call create fd api binding.viewPager.currentItem = 3 @@ -389,7 +388,7 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { } // step 4 response - override fun stepFourApi(payUrl: String, value: String) { + fun stepFourApi(payUrl: String, value: String) { paymentDialog(payUrl, value) } 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 ad8f74f..cbde8cb 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 @@ -7,10 +7,8 @@ import android.view.ViewGroup import androidx.fragment.app.Fragment import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.api.ApiClient -import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.ui.providerfactory.StepFiveModelProviderFactory import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel @@ -20,19 +18,6 @@ class StepFiveBajajFDFragment : Fragment() { private var _binding: FragmentBajajfdStepFiveBinding? = null private val binding get() = _binding!! - private lateinit var bajajFDInterface: BajajFDInterface - companion object { - fun getInstance(fdInterface: BajajFDInterface): StepFiveBajajFDFragment { - val stepFiveFragment = StepFiveBajajFDFragment() - stepFiveFragment.setApi(fdInterface) - return stepFiveFragment - } - } - fun setApi(bajajFDInterfaces: BajajFDInterface) { - bajajFDInterface = bajajFDInterfaces - } - - override fun onCreateView( inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle? 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 634e7a0..7e4f9ba 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 @@ -137,7 +137,7 @@ class StepOneBajajFDFragment : BaseFragment() { binding.spInterestPayout.text.toString() (activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure (activity as BajajFdMainActivity).fdInvestmentDetails.Interest = interest - (activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = "8872" + (activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE (activity as BajajFdMainActivity).fdInvestmentDetails.Provider = getString(R.string.bajaj) (activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = "192.168.1.23" @@ -161,8 +161,6 @@ class StepOneBajajFDFragment : BaseFragment() { "StepOneData", "-->" + Gson().toJson((activity as BajajFdMainActivity).fdInvestmentDetails) ) - - // bajajFDInterface.stepOneApi("stepOneResponse") (activity as BajajFdMainActivity).stepOneApi("stepOneResponse") } } 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 d3484bb..5d94619 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 @@ -27,7 +27,6 @@ import com.nivesh.production.bajajfd.adapter.PaymentModeAdapter import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding -import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity @@ -47,6 +46,7 @@ import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel import java.util.* +import kotlin.math.log class StepTwoBajajFDFragment : BaseFragment() { @@ -54,7 +54,6 @@ class StepTwoBajajFDFragment : BaseFragment() { private var _binding: FragmentBajajfdStepTwoBinding? = null private val binding get() = _binding!! - private lateinit var bajajFDInterface: BajajFDInterface private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton private var cal = Calendar.getInstance() @@ -482,6 +481,12 @@ class StepTwoBajajFDFragment : BaseFragment() { override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) { removeError(binding.tlIFSC) ifscCodeCheckApi(s.toString()) + + Log.e("ifsc", "-->" + s.toString()) + + + + } }) binding.edtAccountNumber.addTextChangedListener(object : TextWatcher { @@ -607,7 +612,6 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.edtAddressLine3.text.toString() (activity as BajajFdMainActivity).applicantDetails.ApplicantCity = binding.spCity.text.toString() - // (activity as BajajFdMainActivity).applicantDetails.ApplicantState = binding.spState.text.toString() (activity as BajajFdMainActivity).applicantDetails.ApplicantState = stateObject.State_Code (activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India" @@ -710,9 +714,6 @@ class StepTwoBajajFDFragment : BaseFragment() { "StepTwoResponse", "-->" + Gson().toJson((activity as BajajFdMainActivity).createFDRequest) ) - // bajajFDInterface.stepTwoApi((activity as BajajFdMainActivity).createFDRequest) - // (activity as BajajFdMainActivity).stepTwoApi((activity as BajajFdMainActivity).createFDRequest) - createFDApi((activity as BajajFdMainActivity).createFDRequest) } } @@ -770,7 +771,7 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun ifscCodeCheckApi(ifsc: String) { - if (ifsc.length == 11) { + if (ifsc.length >8) { stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { @@ -794,15 +795,25 @@ class StepTwoBajajFDFragment : BaseFragment() { listOfIFSC ) binding.edtIFSC.setAdapter(adapter) - } - binding.edtIFSC.setOnItemClickListener { _, _, position, _ -> - if (listOfIFSC.size > 0) { - binding.edtIFSC.setText(listOfIFSC[position]) - binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length) - getIFSCDetailsApi(listOfIFSC[position]) + + binding.edtIFSC.setOnItemClickListener { _, _, position, _ -> + if (listOfIFSC.size > 0) { + val enteredText = binding.edtIFSC.getText() + Log.d("bankifsc $enteredText",enteredText.toString()) + binding.edtIFSC.setText(listOfIFSC[position]) + binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length) + getIFSCDetailsApi(enteredText.toString()) + } } + + + } + + + + } // 650 -> refreshToken() else -> { @@ -835,7 +846,6 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun getIFSCDetailsApi(ifscCode: String) { - stepTwoBajajFDViewModel.ifscCodeDetailsApi( ifscCode, token, @@ -865,7 +875,6 @@ class StepTwoBajajFDFragment : BaseFragment() { } } } - is Resource.Error -> { response.message?.let { message -> Common.showDialogValidation(activity as BajajFdMainActivity, message) @@ -876,6 +885,13 @@ class StepTwoBajajFDFragment : BaseFragment() { } is Resource.DataError -> { + response.errorCode?.let { errorCode -> + Common.showDialogValidation(activity as BajajFdMainActivity, errorCode.toString()) + + + + } + } } } @@ -1040,10 +1056,11 @@ class StepTwoBajajFDFragment : BaseFragment() { ) binding.spTitle.setAdapter(adapter) - val titleText = + var titleText = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title val newTitleText = "$titleText." - if (titleText?.isEmpty()!!) { + titleText="Mr." + if (titleText?.isEmpty()!! ) { binding.spTitle.setText( adapter.getItem(0)?.Value, false diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt index f217a9c..9d5bc8b 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt @@ -110,7 +110,7 @@ class Common { builder.setMessage(message) builder.setCancelable(false) if (activity != null) { - builder.setPositiveButton(activity.getString(R.string.ok)) { dialogInterface, _ -> + builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> dialogInterface.dismiss() } } @@ -121,7 +121,7 @@ class Common { val builder = AlertDialog.Builder(activity) builder.setMessage(message) if (activity != null) { - builder.setPositiveButton(activity.getString(R.string.ok)) { dialogInterface, _ -> + builder.setPositiveButton(activity.getString(R.string.Ok)) { dialogInterface, _ -> dialogInterface.dismiss() } builder.setNegativeButton(activity.getString(R.string.cancel)) { dialogInterface, _ -> diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt index 0484681..ca3c984 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt @@ -1,19 +1,9 @@ package com.nivesh.production.bajajfd.viewModel -import android.os.Bundle -import android.view.LayoutInflater -import android.view.View -import android.view.ViewGroup import androidx.lifecycle.ViewModel -import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding -import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding -import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity -import com.nivesh.production.bajajfd.ui.fragment.StepFiveBajajFDFragment -import com.nivesh.production.bajajfd.ui.fragment.StepFourBajajFDFragment -class StepFiveBajajFDViewModel (private val mainRepository: MainRepository) : ViewModel() { +class StepFiveBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { } \ No newline at end of file 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 db2e02e..761ed89 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 @@ -126,6 +126,7 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View } val getifscCodeCheckMutableData: MutableLiveData> = MutableLiveData() + fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch( Common.handleError(activity) ) { diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 86039fa..19ed6ab 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -128,6 +128,9 @@ NetBanking Upto Rs. 1 Lakh Only Eligible Bank Option + PaymentMode + CustomerCategory + Please enter Guardian Details Please enter mobile number @@ -181,7 +184,6 @@ Please select payment mode - Upload KYC Documents Address Proof Type * @@ -193,6 +195,9 @@ Photograph * PAN * Doctype + Select Option + Gallery + Camera @@ -202,14 +207,9 @@ Interest Payout Rate of Interest - Director of Bajaj Finance Ltd. - Promoter of Bajaj Finance Ltd. - Relative of director or promoter of Bajaj Finance Ltd. - Shareholder of Bajaj Finance Ltd. - Are you a politically exposed person - I am not a citizen, national or tax resident of any country outside of India I undertake to inform company any change in status of my nationality or tax residence. I am making investment from my Indian resident Individual Savings bank account. I/ We confirm that 1/we have read and understood the detailed terms and conditions annexed to this Application including the interest rate and other charges. I have gone through the financials and other statements/particulars representations furnished/made by the company and after careful consideration I am making the deposit with the company at my own risk and volition. I have read and agree to the Terms & conditions - + PAY + Payment Please accept terms & conditions. @@ -237,17 +237,9 @@ Non Senior Citizen Add New Account - OK + OK Cancel Aadhar - Select Option - Gallery - Camera - PaymentMode - CustomerCategory - PAY - Payment - Please enter Guardian Details \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7311f62..19ed6ab 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -128,6 +128,9 @@ NetBanking Upto Rs. 1 Lakh Only Eligible Bank Option + PaymentMode + CustomerCategory + Please enter Guardian Details Please enter mobile number @@ -181,7 +184,6 @@ Please select payment mode - Upload KYC Documents Address Proof Type * @@ -193,6 +195,9 @@ Photograph * PAN * Doctype + Select Option + Gallery + Camera @@ -202,14 +207,9 @@ Interest Payout Rate of Interest - Director of Bajaj Finance Ltd. - Promoter of Bajaj Finance Ltd. - Relative of director or promoter of Bajaj Finance Ltd. - Shareholder of Bajaj Finance Ltd. - Are you a politically exposed person - I am not a citizen, national or tax resident of any country outside of India I undertake to inform company any change in status of my nationality or tax residence. I am making investment from my Indian resident Individual Savings bank account. I/ We confirm that 1/we have read and understood the detailed terms and conditions annexed to this Application including the interest rate and other charges. I have gone through the financials and other statements/particulars representations furnished/made by the company and after careful consideration I am making the deposit with the company at my own risk and volition. I have read and agree to the Terms & conditions - + PAY + Payment Please accept terms & conditions. @@ -237,24 +237,9 @@ Non Senior Citizen Add New Account - OK + OK Cancel Aadhar - Select Option - Gallery - Camera - PaymentMode - CustomerCategory - PAY - Payment - Please enter Guardian Details - - - Aadhaar Card - PAN - Voter Id - Driving Licence - \ No newline at end of file