|
@ -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 { |
|
|