From 171554afe17f7d2b568202b5c850195f260ec3e8 Mon Sep 17 00:00:00 2001 From: Hemant Khadase Date: Fri, 13 Jan 2023 19:39:51 +0530 Subject: [PATCH] added code --- .../nivesh/production/niveshfd/model/Bank.kt | 2 +- .../ui/fragment/StepTwoNiveshFDFragment.kt | 73 ++++++++++++------- .../main/res/layout/activity_nivesh_fd.xml | 6 +- app/src/main/res/values-hi-rIN/strings.xml | 2 + app/src/main/res/values/strings.xml | 2 + 5 files changed, 56 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/nivesh/production/niveshfd/model/Bank.kt b/app/src/main/java/com/nivesh/production/niveshfd/model/Bank.kt index 3816b94..308d7bd 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/model/Bank.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/model/Bank.kt @@ -2,5 +2,5 @@ package com.nivesh.production.niveshfd.model data class Bank( val BankName: String, - val IFSC4Mapping: String + val IFSCInitials: String ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/niveshfd/ui/fragment/StepTwoNiveshFDFragment.kt b/app/src/main/java/com/nivesh/production/niveshfd/ui/fragment/StepTwoNiveshFDFragment.kt index e76ba8e..a0aa483 100644 --- a/app/src/main/java/com/nivesh/production/niveshfd/ui/fragment/StepTwoNiveshFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/niveshfd/ui/fragment/StepTwoNiveshFDFragment.kt @@ -65,6 +65,7 @@ class StepTwoNiveshFDFragment : Fragment() { private lateinit var listOfStates: List private lateinit var listOfCities: List private lateinit var listOfIFSC: MutableList + private lateinit var listOfEligibleBank: MutableList private lateinit var bankListAdapter: BankListAdapter private lateinit var paymentModeAdapter: PaymentModeAdapter @@ -95,7 +96,9 @@ class StepTwoNiveshFDFragment : Fragment() { listOfIFSC = ArrayList() listOfPayMode = ArrayList() stateObject = DataObject() + listOfEligibleBank = ArrayList() rbPaymentMode = RadioButton(activity as NiveshFdMainActivity) + rbBank = RadioButton(activity as NiveshFdMainActivity) // Personal Details binding.edtMobileNumber.filters = arrayOf(LengthFilter(10)) @@ -454,6 +457,7 @@ class StepTwoNiveshFDFragment : Fragment() { } }) + rbBank.setText( getString(R.string.savingsAccount)) binding.rgBank.setOnCheckedChangeListener { group, checkedId -> rbBank = group.findViewById(checkedId) Log.e("BankType", "-->" + rbBank.text) @@ -520,13 +524,16 @@ class StepTwoNiveshFDFragment : Fragment() { .plus(binding.edtMiddleName.text.toString()).plus(" ") .plus(binding.edtLastName.text.toString()), binding.edtMobileNumber.text.toString(), - PreferenceManager(activity as NiveshFdMainActivity).getLoginRole() + PreferenceManager(activity as NiveshFdMainActivity).getLoginRole(), rbBank.text.toString() ) } } binding.tvEligibleBankOption.setOnClickListener { - apiForEligibleBankList() + // apiForEligibleBankList() + if (listOfEligibleBank.isNotEmpty()){ + dialogForBankList(listOfEligibleBank) + } } if ((activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!!) { @@ -547,6 +554,7 @@ class StepTwoNiveshFDFragment : Fragment() { } titleApi() + apiForEligibleBankList() setUpRecyclerView( (activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist, (activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1 @@ -688,8 +696,7 @@ class StepTwoNiveshFDFragment : Fragment() { bankListAdapter.getSelected()?.IFSCCode (activity as NiveshFdMainActivity).fdBankDetails.AccountNumber = bankListAdapter.getSelected()?.AccountNumber - (activity as NiveshFdMainActivity).fdBankDetails.BankName = - bankListAdapter.getSelected()?.BankName + (activity as NiveshFdMainActivity).fdBankDetails.BankName = eligibleBank() (activity as NiveshFdMainActivity).fdBankDetails.PaymentMode = paymentModeAdapter.getSelected()?.Value @@ -721,6 +728,16 @@ class StepTwoNiveshFDFragment : Fragment() { } + private fun eligibleBank(): String { + val enterIfsc = bankListAdapter.getSelected()?.IFSCCode?.substring(0,4) + for (bankList in listOfEligibleBank) { + if (enterIfsc.equals(bankList.IFSCInitials)) { + return bankList.BankName + } + } + return "" + } + private fun checkFDCKYCApi() { if ((activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && (activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && binding.edtPANNumber.text.toString() .isNotEmpty() && (activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!! @@ -943,7 +960,7 @@ class StepTwoNiveshFDFragment : Fragment() { } private fun verifyAccountNo( - bankAccount: String, Ifsc: String, name: String, phoneNumber: String, loginRole: Int + bankAccount: String, Ifsc: String, name: String, phoneNumber: String, loginRole: Int, accountType: String ) { val bankValidationApiRequest = BankValidationApiRequest() @@ -976,16 +993,17 @@ class StepTwoNiveshFDFragment : Fragment() { } when (code) { 200 -> { - if (getBankValidationApiResponse.Message == getString(R.string.accountVerified)) { + if (getBankValidationApiResponse.Message == getString(R.string.accountVerified) || getBankValidationApiResponse.Message == getString(R.string.accountVerified1)) { val clientBankList = ClientBanklist() clientBankList.AccountNumber = bankAccount - clientBankList.AccountType = rbBank.text.toString() + clientBankList.AccountType = accountType clientBankList.BankName = binding.edtBankName.text.toString() clientBankList.BranchName = binding.edtBankBranch.text.toString() clientBankList.IFSCCode = Ifsc clientBankList.IsValBank = 1 + listOfBanks.clear() (activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.let { listOfBanks.addAll( it @@ -996,14 +1014,23 @@ class StepTwoNiveshFDFragment : Fragment() { listOfBanks, clientBankList.AccountNumber.toString() ) - showHideBankDetail() + binding.llBankDetails.visibility = View.GONE + binding.addBankDetail.setCompoundDrawablesWithIntrinsicBounds( + 0, + 0, + R.drawable.ic_add_icon, + 0 + ) + binding.edtAccountNumber.setText("") + binding.edtIFSC.setText("") + binding.edtBankName.setText("") + binding.edtBankBranch.setText("") } else { showDialogValidation( activity as NiveshFdMainActivity, getBankValidationApiResponse.Message ) - showHideBankDetail() } } else -> { @@ -1011,7 +1038,6 @@ class StepTwoNiveshFDFragment : Fragment() { activity as NiveshFdMainActivity, getBankValidationApiResponse.Message ) - showHideBankDetail() } } } @@ -1817,7 +1843,7 @@ class StepTwoNiveshFDFragment : Fragment() { ) { response -> when (response) { is Resource.Success -> { - Log.e("apiForEligibleBankList ", " response -->$response") + Log.e("apiForEligibleBankList ", " response -->${response.data.toString()}") val getFDBankListResponse: GetFDBankListResponse = Gson().fromJson( response.data?.toString(), @@ -1827,7 +1853,8 @@ class StepTwoNiveshFDFragment : Fragment() { when (code) { 200 -> { if (getFDBankListResponse.Response.BankList.isNotEmpty()) { - dialogForBankList(getFDBankListResponse.Response.BankList) + listOfEligibleBank.addAll(getFDBankListResponse.Response.BankList) + } } 650 -> refreshToken() @@ -1949,18 +1976,6 @@ class StepTwoNiveshFDFragment : Fragment() { binding.tlFirstName, getString(R.string.validFirstName) ) - } else if (binding.edtMiddleName.text.toString().isEmpty()) { // EditText - commonErrorMethod( - binding.edtMiddleName, - binding.tlMiddleName, - getString(R.string.emptyMiddleName) - ) - } else if (!isValidName(binding.edtMiddleName.text.toString())) { // EditText - commonErrorMethod( - binding.edtMiddleName, - binding.tlMiddleName, - getString(R.string.validMiddleName) - ) } else if (binding.edtLastName.text.toString().isEmpty()) { // EditText commonErrorMethod( binding.edtLastName, @@ -2083,6 +2098,12 @@ class StepTwoNiveshFDFragment : Fragment() { binding.tlBankName, getString(R.string.emptyBankName) ) + } else if (eligibleBank().isEmpty() && eligibleBank() != bankListAdapter.getSelected()?.BankName) { + showDialogValidation( + activity as NiveshFdMainActivity, + getString(R.string.eligibleBankError) + ) + return false } else if ((activity as NiveshFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtBankBranch.text.toString() .isEmpty() ) { // EditText @@ -2121,6 +2142,4 @@ class StepTwoNiveshFDFragment : Fragment() { super.onDestroyView() _binding = null } -} - - +} \ No newline at end of file diff --git a/app/src/main/res/layout/activity_nivesh_fd.xml b/app/src/main/res/layout/activity_nivesh_fd.xml index e87a21f..809a862 100644 --- a/app/src/main/res/layout/activity_nivesh_fd.xml +++ b/app/src/main/res/layout/activity_nivesh_fd.xml @@ -48,12 +48,13 @@ android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@color/greyColor4" - android:gravity="center" + android:layout_gravity="center_vertical" android:orientation="horizontal" android:paddingTop="@dimen/margin_10" android:paddingBottom="@dimen/margin_10"> @@ -93,6 +95,7 @@ @@ -119,6 +122,7 @@ android:orientation="horizontal"> Applicant\'s PAN should be individual Account Verified + Account verified Please select title @@ -258,6 +259,7 @@ OK + Selected Bank is Not Eligible For Investment of Bajaj Fd diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index e040bdb..b8c3a03 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -147,6 +147,7 @@ Applicant\'s PAN should be individual Account Verified + Account verified Please select title @@ -257,6 +258,7 @@ Add New Account OK + Selected Bank is Not Eligible For Investment of Bajaj Fd