Browse Source

added recommended bank list code

PankajBranch
Hemant Khadase 2 years ago
parent
commit
23f01994f2
12 changed files with 379 additions and 179 deletions
  1. +41
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt
  2. +91
    -24
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  3. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt
  4. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt
  5. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt
  6. +14
    -6
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  7. +147
    -43
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  8. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
  9. +1
    -49
      app/src/main/res/layout/fragment_bajajfd_step_two.xml
  10. +43
    -0
      app/src/main/res/layout/layout_bank_list.xml
  11. +2
    -0
      app/src/main/res/values-hi-rIN/strings.xml
  12. +13
    -57
      app/src/main/res/values/strings.xml

+ 41
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt View File

@ -0,0 +1,41 @@
package com.nivesh.production.bajajfd.adapter
import android.app.Activity
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.Bank
class RecommendedBankListAdapter(
private val bankList: List<Bank>, private val activity: Activity
) : RecyclerView.Adapter<RecommendedBankListAdapter.MyViewHolder>() {
class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {
val tvText: TextView
init {
tvText = view.findViewById(R.id.tvText)
}
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
val itemView: View = LayoutInflater.from(parent.context)
.inflate(R.layout.row_dropdown, parent, false)
return MyViewHolder(itemView)
}
override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
val bank: Bank = bankList[position]
holder.tvText.setText(bank.BankName)
}
override fun getItemCount(): Int {
return bankList.size
}
}

+ 91
- 24
app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt View File

@ -9,75 +9,142 @@ import retrofit2.http.*
interface ApiInterface { interface ApiInterface {
@POST("WebApi_Bajaj/GetRates") @POST("WebApi_Bajaj/GetRates")
suspend fun getRates(@Body getRatesRequest: GetRatesRequest, @Header("token") token: String): Response<JsonObject>
suspend fun getRates(
@Body getRatesRequest: GetRatesRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CheckFDCKYC") @POST("WebApi_Bajaj/CheckFDCKYC")
suspend fun checkFDKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun checkFDKYC(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CreateFDApplication") @POST("WebApi_Bajaj/CreateFDApplication")
suspend fun createFDApp(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun createFDApp(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/DocumentsUpload") @POST("WebApi_Bajaj/DocumentsUpload")
suspend fun documentsUpload(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun documentsUpload(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/SaveFDOtherData") @POST("WebApi_Bajaj/SaveFDOtherData")
suspend fun saveFDOtherData(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun saveFDOtherData(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetFDDetails") @POST("WebApi_Bajaj/GetFDDetails")
suspend fun getFDDetails(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun getFDDetails(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/UpdateFDPaymentStatus") @POST("WebApi_Bajaj/UpdateFDPaymentStatus")
suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun updateFDPaymentStatus(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/FinaliseFD") @POST("WebApi_Bajaj/FinaliseFD")
suspend fun finaliseFD(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun finaliseFD(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/FinaliseKYC") @POST("WebApi_Bajaj/FinaliseKYC")
suspend fun finaliseKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun finaliseKYC(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/PaymentRequery") @POST("WebApi_Bajaj/PaymentRequery")
suspend fun paymentReQuery(@Body requestBody: RequestBody, @Header("token") token: String): Response<JsonObject>
suspend fun paymentReQuery(
@Body requestBody: RequestBody,
@Header("token") token: String
): Response<JsonObject>
// @FormUrlEncoded // @FormUrlEncoded
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun getCodes(@Body requestBody: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun getCodes(
@Body requestBody: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/CalculateFDMaturityAmount") @POST("WebApi_Bajaj/CalculateFDMaturityAmount")
suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest, @Header("token") token: String): Response<JsonObject>
suspend fun getCalculateFDMaturityAmount(
@Body requestBody: GetMaturityAmountRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/api/PanCheck_S") @POST("WebApi_Bajaj/api/PanCheck_S")
suspend fun panCheckApi(@Body panCheck: PanCheckRequest, @Header("token") token: String): Response<JsonObject>
suspend fun panCheckApi(
@Body panCheck: PanCheckRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/getFDStepsCount") @POST("WebApi_Bajaj/getFDStepsCount")
suspend fun getFDStepsCount(@Body fdStepsCountRequest: FDStepsCountRequest, @Header("token") token: String): Response<JsonObject>
suspend fun getFDStepsCount(
@Body fdStepsCountRequest: FDStepsCountRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi/api/GetClientDetailV2_S") @POST("WebApi/api/GetClientDetailV2_S")
suspend fun getClientDetails(@Body getClientDetailsRequest: getClientDetailsRequest, @Header("token") token: String): Response<JsonObject>
suspend fun getClientDetails(
@Body getClientDetailsRequest: getClientDetailsRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun titleApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun titleApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun genderApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun genderApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun annualIncomeApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun annualIncomeApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun relationShipApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun relationShipApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun maritalStatusApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun maritalStatusApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes") @POST("WebApi_Bajaj/GetCodes")
suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
suspend fun occupationApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetStateMaster") @POST("WebApi_Bajaj/api/GetStateMaster")
suspend fun stateApi( @Header("token") token: String): Response<JsonObject>
suspend fun stateApi(@Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/api/GetCity") @POST("WebApi_Bajaj/api/GetCity")
suspend fun cityApi(@Body cityRequest: CityRequest, @Header("token") token: String): Response<JsonObject>
suspend fun cityApi(
@Body cityRequest: CityRequest,
@Header("token") token: String
): Response<JsonObject>
@GET("WebApi_Bajaj/api/GetCity")
suspend fun bankListApi(@Header("token") token: String): Response<JsonObject>
} }

+ 6
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt View File

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class Bank(
val BankName: String,
val IFSC4Mapping: String
)

+ 5
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt View File

@ -0,0 +1,5 @@
package com.nivesh.production.bajajfd.model
data class GetFDBankListResponse(
val Response: ResponseXXXXXXXX
)

+ 9
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt View File

@ -0,0 +1,9 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXX(
val BankList: List<Bank>,
val Errors: List<Any>,
val Message: String,
val Status: String,
val StatusCode: Int
)

+ 14
- 6
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -7,15 +7,19 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) = suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token) apiInterface.getRates(getRatesRequest, token)
suspend fun getCodesResponse(requestBody: GetCodeRequest , token: String) =
suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) =
apiInterface.getCodes(requestBody, token) apiInterface.getCodes(requestBody, token)
suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest , token: String) =
suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) =
apiInterface.getFDStepsCount(requestBody, token) apiInterface.getFDStepsCount(requestBody, token)
suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest , token: String) =
suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) =
apiInterface.getClientDetails(getClientDetails, token) apiInterface.getClientDetails(getClientDetails, token)
suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest, token: String) =
suspend fun createCalculateFDMaturityAmount(
requestBody: GetMaturityAmountRequest,
token: String
) =
apiInterface.getCalculateFDMaturityAmount(requestBody, token) apiInterface.getCalculateFDMaturityAmount(requestBody, token)
@ -64,8 +68,12 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) = suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.occupationApi(getCodeRequest, token) apiInterface.occupationApi(getCodeRequest, token)
suspend fun stateCheck( token: String) =
apiInterface.stateApi( token)
suspend fun stateCheck(token: String) =
apiInterface.stateApi(token)
suspend fun cityCheck(cityRequest: CityRequest, token: String) = suspend fun cityCheck(cityRequest: CityRequest, token: String) =
apiInterface.cityApi(cityRequest, token) apiInterface.cityApi(cityRequest, token)
suspend fun bankListCheck(token: String) =
apiInterface.bankListApi(token)
} }

+ 147
- 43
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt View File

@ -1,6 +1,7 @@
package com.nivesh.production.bajajfd.ui.fragment package com.nivesh.production.bajajfd.ui.fragment
import android.app.DatePickerDialog import android.app.DatePickerDialog
import android.app.Dialog
import android.os.Bundle import android.os.Bundle
import android.text.Editable import android.text.Editable
import android.text.InputFilter import android.text.InputFilter
@ -8,16 +9,19 @@ import android.text.InputFilter.LengthFilter
import android.text.TextWatcher import android.text.TextWatcher
import android.util.Log import android.util.Log
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.MotionEvent
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.ArrayAdapter import android.widget.ArrayAdapter
import android.widget.RadioButton import android.widget.RadioButton
import android.widget.TextView
import androidx.core.content.ContextCompat import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText import com.google.android.material.textfield.TextInputEditText
import com.google.gson.Gson import com.google.gson.Gson
import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.model.*
@ -176,15 +180,19 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_APPNAME1?.split( (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_APPNAME1?.split(
"\\s".toRegex() "\\s".toRegex()
)?.toTypedArray() )?.toTypedArray()
if (splitStringName?.size == 1) {
binding.edtFirstName.setText(splitStringName[0])
} else if (splitStringName?.size == 2) {
binding.edtFirstName.setText(splitStringName[0])
binding.edtLastName.setText(splitStringName[1])
} else if (splitStringName?.size == 3) {
binding.edtFirstName.setText(splitStringName[0])
binding.edtMiddleName.setText(splitStringName[1])
binding.edtLastName.setText(splitStringName[2])
when (splitStringName?.size) {
1 -> {
binding.edtFirstName.setText(splitStringName[0])
}
2 -> {
binding.edtFirstName.setText(splitStringName[0])
binding.edtLastName.setText(splitStringName[1])
}
3 -> {
binding.edtFirstName.setText(splitStringName[0])
binding.edtMiddleName.setText(splitStringName[1])
binding.edtLastName.setText(splitStringName[2])
}
} }
binding.spGender.setOnItemClickListener { _, _, _, _ -> binding.spGender.setOnItemClickListener { _, _, _, _ ->
@ -330,17 +338,25 @@ class StepTwoBajajFDFragment : Fragment() {
} }
}) })
val splitNomineeName = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeName?.split(
"\\s".toRegex())?.toTypedArray()
if (splitNomineeName?.size == 1) {
binding.edtNomineeFirstName.setText(splitNomineeName[0])
}else if (splitNomineeName?.size == 2){
binding.edtNomineeFirstName.setText(splitNomineeName[0])
binding.edtNomineeLastName.setText(splitNomineeName[1])
}else if(splitNomineeName?.size == 3){
binding.edtNomineeFirstName.setText(splitNomineeName[0])
binding.edtNomineeMiddleName.setText(splitNomineeName[1])
binding.edtNomineeLastName.setText(splitNomineeName[2])
val splitNomineeName =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
0
)?.NomineeName?.split(
"\\s".toRegex()
)?.toTypedArray()
when (splitNomineeName?.size) {
1 -> {
binding.edtNomineeFirstName.setText(splitNomineeName[0])
}
2 -> {
binding.edtNomineeFirstName.setText(splitNomineeName[0])
binding.edtNomineeLastName.setText(splitNomineeName[1])
}
3 -> {
binding.edtNomineeFirstName.setText(splitNomineeName[0])
binding.edtNomineeMiddleName.setText(splitNomineeName[1])
binding.edtNomineeLastName.setText(splitNomineeName[2])
}
} }
binding.edtNomineeDOB.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB) binding.edtNomineeDOB.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB)
@ -369,7 +385,11 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlGuardianName) removeError(binding.tlGuardianName)
} }
}) })
binding.edtGuardianName.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeGuardian)
binding.edtGuardianName.setText(
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
0
)?.NomineeGuardian
)
binding.edtGuardianAge.addTextChangedListener(object : TextWatcher { binding.edtGuardianAge.addTextChangedListener(object : TextWatcher {
@ -432,7 +452,7 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlIFSC) removeError(binding.tlIFSC)
} }
}) })
// binding.edtIFSC.setText()
// binding.edtIFSC.setText()
binding.edtAccountNumber.addTextChangedListener(object : TextWatcher { binding.edtAccountNumber.addTextChangedListener(object : TextWatcher {
@ -476,6 +496,9 @@ class StepTwoBajajFDFragment : Fragment() {
Log.e("paymentMode", "-->" + rbPaymentMode.text) Log.e("paymentMode", "-->" + rbPaymentMode.text)
} }
binding.tvEligibleBankOption.setOnClickListener{
apiForEligibleBankList()
}
binding.tvPersonalDetails.setOnClickListener { binding.tvPersonalDetails.setOnClickListener {
if (binding.llPersonalDetail.visibility == View.VISIBLE) { if (binding.llPersonalDetail.visibility == View.VISIBLE) {
@ -625,7 +648,6 @@ class StepTwoBajajFDFragment : Fragment() {
binding.btnBack.setOnClickListener { binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 0 (activity as BajajFdMainActivity).binding.viewPager.currentItem = 0
} }
return root return root
} }
@ -639,6 +661,7 @@ class StepTwoBajajFDFragment : Fragment() {
"0".plus(monthOfYear) "0".plus(monthOfYear)
} }
edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + year)) edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + year))
edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day }, year, month, day
) )
datePickerDialog.datePicker.maxDate = cal.timeInMillis datePickerDialog.datePicker.maxDate = cal.timeInMillis
@ -648,7 +671,6 @@ class StepTwoBajajFDFragment : Fragment() {
datePickerDialog.show() datePickerDialog.show()
} }
private fun panCheckApi() { private fun panCheckApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val panCheck = PanCheckRequest() val panCheck = PanCheckRequest()
@ -734,17 +756,18 @@ class StepTwoBajajFDFragment : Fragment() {
) )
binding.spTitle.setAdapter(adapter) binding.spTitle.setAdapter(adapter)
val titleText=(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
val newTitleText= "$titleText."
val titleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
val newTitleText = "$titleText."
if (titleText.isNullOrEmpty()) { if (titleText.isNullOrEmpty()) {
binding.spTitle.setText( binding.spTitle.setText(
adapter.getItem(0)?.Value, adapter.getItem(0)?.Value,
false false
) )
}else{
} else {
for (title in listOfTitle) { for (title in listOfTitle) {
if (title.Value ==newTitleText) {
binding.spTitle.setText(title.Value,false)
if (title.Value == newTitleText) {
binding.spTitle.setText(title.Value, false)
break break
} }
// binding.spTitle.setOnTouchListener { v, event -> // binding.spTitle.setOnTouchListener { v, event ->
@ -1087,11 +1110,23 @@ class StepTwoBajajFDFragment : Fragment() {
listOfStates listOfStates
) )
binding.spState.setAdapter(adapter) binding.spState.setAdapter(adapter)
binding.spState.setText(
adapter.getItem(0)?.State_Name,
false
)
cityListApi(adapter.getItem(0)?.State_Id)
val newTitleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_STATE
if (newTitleText.isNullOrEmpty()) {
binding.spState.setText(
adapter.getItem(0)?.State_Name,
false
)
cityListApi(adapter.getItem(0)?.State_Id)
} else {
for (title in listOfStates) {
if (title.State_Code == newTitleText) {
binding.spState.setText(title.State_Name, false)
cityListApi(title.State_Id)
break
}
}
}
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
@ -1119,15 +1154,17 @@ class StepTwoBajajFDFragment : Fragment() {
val cityRequest = CityRequest() val cityRequest = CityRequest()
cityRequest.StateCode = stateCode cityRequest.StateCode = stateCode
cityRequest.Type = "" cityRequest.Type = ""
cityRequest.ClientCode = "8872"
cityRequest.ClientCode =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
cityRequest.RoleID = 5 cityRequest.RoleID = 5
cityRequest.APIName = "" cityRequest.APIName = ""
cityRequest.UID = 19060 cityRequest.UID = 19060
cityRequest.Subbroker_Code = "1014"
cityRequest.Subbroker_Code =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
cityRequest.RMCode = "" cityRequest.RMCode = ""
cityRequest.HOCode = "" cityRequest.HOCode = ""
cityRequest.Source = "Nivesh"
cityRequest.APP_Web = "App"
cityRequest.Source = getString(R.string.source)
cityRequest.APP_Web = getString(R.string.app)
stepTwoBajajFDViewModel.cityListApi(cityRequest, token) stepTwoBajajFDViewModel.cityListApi(cityRequest, token)
stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response -> stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
@ -1146,10 +1183,22 @@ class StepTwoBajajFDFragment : Fragment() {
listOfCities listOfCities
) )
binding.spCity.setAdapter(adapter) binding.spCity.setAdapter(adapter)
binding.spCity.setText(
adapter.getItem(0)?.city_name,
false
)
val newTitleText =
(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CITY
if (newTitleText.isNullOrEmpty()) {
binding.spCity.setText(
adapter.getItem(0)?.city_name,
false
)
} else {
for (title in listOfCities) {
if (title.city_name == newTitleText) {
binding.spCity.setText(title.city_name, false)
break
}
}
}
} }
} }
// 650 -> refreshToken() // 650 -> refreshToken()
@ -1170,6 +1219,61 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
private fun apiForEligibleBankList() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
stepTwoBajajFDViewModel.bankListApi(token)
stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val getFDBankListResponse: GetFDBankListResponse =
Gson().fromJson(
response.data?.toString(),
GetFDBankListResponse::class.java
)
getFDBankListResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
if (getFDBankListResponse.Response.BankList.isNotEmpty()) {
dialogForBankList(getFDBankListResponse.Response.BankList)
}
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun dialogForBankList(bankList: List<Bank>) {
val dialog = Dialog(activity as BajajFdMainActivity)
dialog.setContentView(R.layout.layout_bank_list)
dialog.setCancelable(true)
val rvClientList = dialog.findViewById<RecyclerView>(R.id.rvBankList)
rvClientList.layoutManager = LinearLayoutManager(activity as BajajFdMainActivity)
val tvCancel = dialog.findViewById<TextView>(R.id.tvCancel)
if (bankList.isNotEmpty()) {
val bankListAdapter = RecommendedBankListAdapter(bankList, activity as BajajFdMainActivity)
rvClientList.adapter = bankListAdapter
}
tvCancel.setOnClickListener{
dialog.dismiss()
}
}
// validations // validations
private fun validation(): Boolean { private fun validation(): Boolean {


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

@ -104,4 +104,11 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getCityListMutableData.postValue(handleRatesResponse(response)) getCityListMutableData.postValue(handleRatesResponse(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))
}
} }

+ 1
- 49
app/src/main/res/layout/fragment_bajajfd_step_two.xml View File

@ -400,55 +400,6 @@
</com.google.android.material.textfield.TextInputLayout> </com.google.android.material.textfield.TextInputLayout>
<!-- <com.google.android.material.textfield.TextInputLayout-->
<!-- android:id="@+id/tlRelation"-->
<!-- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="@dimen/margin_48"-->
<!-- android:layout_marginTop="@dimen/margin_10"-->
<!-- android:layout_marginBottom="@dimen/margin_5"-->
<!-- android:layout_marginStart="@dimen/margin_5"-->
<!-- android:layout_marginEnd="@dimen/margin_5"-->
<!-- app:hintEnabled="false"-->
<!-- app:layout_constraintEnd_toEndOf="parent"-->
<!-- app:layout_constraintStart_toStartOf="parent"-->
<!-- app:layout_constraintTop_toBottomOf="@+id/tlDepositAmount">-->
<!-- <com.google.android.material.textfield.MaterialAutoCompleteTextView-->
<!-- android:id="@+id/spRelation"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:background="@drawable/rounded_corner_with_line"-->
<!-- android:hint="@string/selectRelation"-->
<!-- android:inputType="none"-->
<!-- android:labelFor="@+id/tlRelation"-->
<!-- android:textColorHint="#757575"-->
<!-- android:textSize="@dimen/text_size_14" />-->
<!-- </com.google.android.material.textfield.TextInputLayout>-->
<!-- <com.google.android.material.textfield.TextInputLayout-->
<!-- android:id="@+id/tlRelationName"-->
<!-- style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:layout_margin="@dimen/margin_5"-->
<!-- android:hint="@string/relationName">-->
<!-- <com.google.android.material.textfield.TextInputEditText-->
<!-- android:id="@+id/edtRelationName"-->
<!-- android:layout_width="match_parent"-->
<!-- android:layout_height="wrap_content"-->
<!-- android:paddingTop="@dimen/margin_15"-->
<!-- android:paddingBottom="@dimen/margin_15"-->
<!-- android:inputType="text"-->
<!-- android:maxEms="100"-->
<!-- android:textSize="@dimen/text_size_14" />-->
<!-- </com.google.android.material.textfield.TextInputLayout>-->
<com.google.android.material.textfield.TextInputLayout <com.google.android.material.textfield.TextInputLayout
android:id="@+id/tlAddressLine1" android:id="@+id/tlAddressLine1"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense" style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.Dense"
@ -1000,6 +951,7 @@
android:textSize="@dimen/text_size_14" /> android:textSize="@dimen/text_size_14" />
<TextView <TextView
android:id="@+id/tvEligibleBankOption"
style="@style/regularStyle" style="@style/regularStyle"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"


+ 43
- 0
app/src/main/res/layout/layout_bank_list.xml View File

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
style="@style/BoldStyle"
android:id="@+id/tvSelectClient"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
android:padding="@dimen/margin_15"
android:gravity="center_vertical"
android:text="@string/information"
android:textColor="@color/red"
app:layout_constraintTop_toTopOf="parent"
android:textSize="@dimen/text_size_16" />
<TextView
style="@style/BoldStyle"
android:id="@+id/tvCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintEnd_toEndOf="parent"
android:layout_marginEnd="@dimen/margin_10"
android:padding="@dimen/margin_10"
android:gravity="center_vertical"
android:text="@string/x"
android:textColor="@color/black"
app:layout_constraintTop_toTopOf="parent"
android:textSize="@dimen/text_size_19" />
<androidx.recyclerview.widget.RecyclerView
app:layout_constraintTop_toBottomOf="@+id/tvSelectClient"
android:id="@+id/rvBankList"
android:layout_width="match_parent"
android:layout_height="0dp"
android:scrollbars="vertical"/>
</androidx.constraintlayout.widget.ConstraintLayout>

+ 2
- 0
app/src/main/res/values-hi-rIN/strings.xml View File

@ -222,5 +222,7 @@
<string name="selectState">Select State</string> <string name="selectState">Select State</string>
<string name="selectCity">Select City</string> <string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string> <string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<string name="x">X</string>
</resources> </resources>

+ 13
- 57
app/src/main/res/values/strings.xml View File

@ -42,7 +42,8 @@
<string name="category">InterestPayoutFreq</string> <string name="category">InterestPayoutFreq</string>
<string name="language">EN</string> <string name="language">EN</string>
<string name="minMaxValidation">Min. 12 months, Max. 60 months</string> <string name="minMaxValidation">Min. 12 months, Max. 60 months</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<!-- Validations --> <!-- Validations -->
<string name="emptyAmount">Please enter amount</string> <string name="emptyAmount">Please enter amount</string>
@ -75,12 +76,21 @@
<string name="enterAddress1">Enter Address Line 1</string> <string name="enterAddress1">Enter Address Line 1</string>
<string name="enterAddress2">Enter Address Line 2</string> <string name="enterAddress2">Enter Address Line 2</string>
<string name="enterAddress3">Enter Address Line 3</string> <string name="enterAddress3">Enter Address Line 3</string>
<string name="state">State</string> <string name="state">State</string>
<string name="city">City</string> <string name="city">City</string>
<string name="pinCode">PinCode</string> <string name="pinCode">PinCode</string>
<string name="verifiedText">Verified</string> <string name="verifiedText">Verified</string>
<string name="notVerifiedText">Not Verified</string> <string name="notVerifiedText">Not Verified</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="information">Information</string>
<!-- Nominee Details --> <!-- Nominee Details -->
<string name="nomineeDetailsOptional">Nominee Details (Optional)</string> <string name="nomineeDetailsOptional">Nominee Details (Optional)</string>
@ -215,38 +225,10 @@
<string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string> <string name="onceYouClick">Once you click on PAY, your order will be placed and you will be redirected to payment gateway.</string>
<string name="seniorCitizen">Senior Citizen</string> <string name="seniorCitizen">Senior Citizen</string>
<string name="nonSeniorCitizen">Non Senior Citizen</string> <string name="nonSeniorCitizen">Non Senior Citizen</string>
<string name="minAmountCategory">MINAmount</string>
<string name="MaxAmountCategory">MAXAmount</string>
<string name="ok">OK</string> <string name="ok">OK</string>
<string name="cancel">Cancel</string> <string name="cancel">Cancel</string>
<string name="salutationCategory">Salutation</string>
<string name="genderCategory">Gender</string>
<string name="maritalCategory">MaritalStatus</string>
<string name="occupationCategory">Occupation</string>
<string name="relationshipCategory">NomineeRelationship</string>
<string name="selectIncome">Select Income</string>
<string name="selectState">Select State</string>
<string name="selectCity">Select City</string>
<string name="annualIncome">AnnualIncome</string>
<string name="x">X</string>
<!-- <string-array name="interestPayoutList">-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </string-array>-->
<!-- <string-array name="tenure">-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </string-array>-->
<array name="addressType"> <array name="addressType">
<item>Aadhaar Card</item> <item>Aadhaar Card</item>
@ -255,30 +237,4 @@
<item>Driving Licence</item> <item>Driving Licence</item>
</array> </array>
<!-- <array name="title">-->
<!-- <item>Mr</item>-->
<!-- <item>Mrs</item>-->
<!-- </array>-->
<!-- <array name="gender">-->
<!-- <item>Male</item>-->
<!-- <item>Female</item>-->
<!-- </array>-->
<!-- <array name="maritalStatus">-->
<!-- <item>Marital Status</item>-->
<!-- <item>Married</item>-->
<!-- <item>Unmarried</item>-->
<!-- </array>-->
<!-- <array name="interestPayoutLists">-->
<!-- <item>Interest Payout</item>-->
<!-- <item>On Maturity</item>-->
<!-- <item>Monthly</item>-->
<!-- <item>Quarterly</item>-->
<!-- <item>Half Yearly</item>-->
<!-- <item>Yearly</item>-->
<!-- </array>-->
</resources> </resources>

Loading…
Cancel
Save

Powered by TurnKey Linux.