|
|
@ -15,6 +15,7 @@ import androidx.lifecycle.ViewModelProvider |
|
|
|
import androidx.viewpager.widget.ViewPager |
|
|
|
import com.google.gson.Gson |
|
|
|
import com.nivesh.production.bajajfd.R |
|
|
|
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 |
|
|
@ -37,21 +38,21 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
lateinit var binding: ActivityBajajFdBinding |
|
|
|
private lateinit var viewModel: BajajFDViewModel |
|
|
|
|
|
|
|
lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel |
|
|
|
lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel |
|
|
|
lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel |
|
|
|
lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel |
|
|
|
lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel |
|
|
|
|
|
|
|
var createFDRequest: CreateFDRequest |
|
|
|
var createFDApplicantRequest: CreateFDApplicationRequest |
|
|
|
var applicantDetails: ApplicantDetails |
|
|
|
var fdInvestmentDetails: FDInvestmentDetails |
|
|
|
var applicantRelationDetails: ApplicantRelationDetails |
|
|
|
var fdBankDetails: FdBankDetails |
|
|
|
var nomineeDetails: NomineeDetails |
|
|
|
var nomineeGuardianDetails: NomineeGuardianDetails |
|
|
|
var getClientDetailsResponse: getClientDetailsResponse |
|
|
|
val stepOneBajajFDFragment = StepOneBajajFDFragment() |
|
|
|
val stepTwoBajajFDFragment = StepTwoBajajFDFragment() |
|
|
|
val stepThreeBajajFDFragment = StepThreeBajajFDFragment() |
|
|
|
val stepFourBajajFDFragment = StepFourBajajFDFragment() |
|
|
|
val stepFiveBajajFDFragment = StepFiveBajajFDFragment() |
|
|
|
|
|
|
|
var createFDRequest: CreateFDRequest = CreateFDRequest() |
|
|
|
var createFDApplicantRequest: CreateFDApplicationRequest = CreateFDApplicationRequest() |
|
|
|
var applicantDetails: ApplicantDetails = ApplicantDetails() |
|
|
|
var fdInvestmentDetails: FDInvestmentDetails = FDInvestmentDetails() |
|
|
|
var applicantRelationDetails: ApplicantRelationDetails = ApplicantRelationDetails() |
|
|
|
var fdBankDetails: FdBankDetails = FdBankDetails() |
|
|
|
var nomineeDetails: NomineeDetails = NomineeDetails() |
|
|
|
var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() |
|
|
|
var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() |
|
|
|
|
|
|
|
private var stepCount: Int = 0 |
|
|
|
private lateinit var sectionsPagerAdapter: SectionsPagerAdapter |
|
|
@ -62,19 +63,6 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
init() |
|
|
|
} |
|
|
|
|
|
|
|
init { |
|
|
|
getClientDetailsResponse = getClientDetailsResponse() |
|
|
|
createFDRequest = CreateFDRequest() |
|
|
|
createFDApplicantRequest = CreateFDApplicationRequest() |
|
|
|
|
|
|
|
fdInvestmentDetails = FDInvestmentDetails() |
|
|
|
applicantDetails = ApplicantDetails() |
|
|
|
applicantRelationDetails = ApplicantRelationDetails() |
|
|
|
fdBankDetails = FdBankDetails() |
|
|
|
nomineeDetails = NomineeDetails() |
|
|
|
nomineeGuardianDetails = NomineeGuardianDetails() |
|
|
|
} |
|
|
|
|
|
|
|
private fun init() { |
|
|
|
|
|
|
|
binding = ActivityBajajFdBinding.inflate(layoutInflater) |
|
|
@ -85,26 +73,6 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
this, |
|
|
|
FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[BajajFDViewModel::class.java] |
|
|
|
stepOneBajajFDViewModel = ViewModelProvider( |
|
|
|
this, |
|
|
|
StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[StepOneBajajFDViewModel::class.java] |
|
|
|
stepTwoBajajFDViewModel = ViewModelProvider( |
|
|
|
this, |
|
|
|
StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[StepTwoBajajFDViewModel::class.java] |
|
|
|
stepThreeBajajFDViewModel = ViewModelProvider( |
|
|
|
this, |
|
|
|
StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[StepThreeBajajFDViewModel::class.java] |
|
|
|
stepFourBajajFDViewModel = ViewModelProvider( |
|
|
|
this, |
|
|
|
StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[StepFourBajajFDViewModel::class.java] |
|
|
|
stepFiveBajajFDViewModel = ViewModelProvider( |
|
|
|
this, |
|
|
|
StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)) |
|
|
|
)[StepFiveBajajFDViewModel::class.java] |
|
|
|
|
|
|
|
if (Common.isNetworkAvailable(this)) { |
|
|
|
getStepsCountApi() |
|
|
@ -234,28 +202,26 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
|
|
|
|
if (stepCount == 3) { |
|
|
|
fragments = arrayOf( |
|
|
|
StepOneBajajFDFragment.getInstance(this), |
|
|
|
StepTwoBajajFDFragment.getInstance(this), |
|
|
|
StepFourBajajFDFragment.getInstance(this), |
|
|
|
StepFiveBajajFDFragment.getInstance(this) |
|
|
|
stepOneBajajFDFragment, |
|
|
|
stepTwoBajajFDFragment, |
|
|
|
stepFourBajajFDFragment, |
|
|
|
stepFiveBajajFDFragment |
|
|
|
) |
|
|
|
} else if (stepCount == 4) { |
|
|
|
fragments = arrayOf( |
|
|
|
StepOneBajajFDFragment.getInstance(this), |
|
|
|
StepTwoBajajFDFragment.getInstance(this), |
|
|
|
StepThreeBajajFDFragment.getInstance(this), |
|
|
|
StepFourBajajFDFragment.getInstance(this), |
|
|
|
StepFiveBajajFDFragment.getInstance(this) |
|
|
|
stepOneBajajFDFragment, |
|
|
|
stepTwoBajajFDFragment, |
|
|
|
stepThreeBajajFDFragment, |
|
|
|
stepFourBajajFDFragment, |
|
|
|
stepFiveBajajFDFragment |
|
|
|
) |
|
|
|
} |
|
|
|
|
|
|
|
// set viewPager |
|
|
|
sectionsPagerAdapter = |
|
|
|
SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount) |
|
|
|
val viewPager: ViewPager = binding.viewPager |
|
|
|
|
|
|
|
sectionsPagerAdapter = SectionsPagerAdapter(supportFragmentManager, fragments, stepsCount) |
|
|
|
val viewPager: DisableAdapter = binding.viewPager |
|
|
|
viewPager.setPagingEnabled(false) |
|
|
|
viewPager.adapter = sectionsPagerAdapter |
|
|
|
|
|
|
|
viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { |
|
|
|
override fun onPageScrolled( |
|
|
|
position: Int, |
|
|
@ -330,8 +296,8 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN |
|
|
|
checkFDKYCRequest.NiveshClientCode = |
|
|
|
getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString() |
|
|
|
stepOneBajajFDViewModel.checkFDKYC(checkFDKYCRequest, token) |
|
|
|
stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response -> |
|
|
|
viewModel.checkFDKYC(checkFDKYCRequest, token) |
|
|
|
viewModel.getFDKYCMutableData.observe(this) { response -> |
|
|
|
when (response) { |
|
|
|
is Resource.Success -> { |
|
|
|
Log.e("response", "-->$response") |
|
|
@ -393,124 +359,28 @@ class BajajFdMainActivity : BaseActivity(), BajajFDInterface { |
|
|
|
} |
|
|
|
|
|
|
|
// step 2 response |
|
|
|
override fun stepTwoApi(data: CreateFDRequest) { |
|
|
|
override fun stepTwoApi(data: CreateFDApplicationResponse) { |
|
|
|
Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) |
|
|
|
createFDApi(data, 2, "2") |
|
|
|
binding.viewPager.currentItem = 2 |
|
|
|
stepThreeBajajFDFragment.displayReceivedData(data) |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// step 3 response |
|
|
|
override fun stepThreeApi(data: CreateFDRequest) { |
|
|
|
override fun stepThreeApi(data: CreateFDApplicationResponse) { |
|
|
|
Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) |
|
|
|
// call create fd api |
|
|
|
createFDApi(data, 3, "3") |
|
|
|
binding.viewPager.currentItem = 3 |
|
|
|
stepFourBajajFDFragment.displayReceivedData(data) |
|
|
|
} |
|
|
|
|
|
|
|
// step 4 response |
|
|
|
override fun stepFourApi(data: SaveFDOtherDataRequest, payUrl: String, value: String) { |
|
|
|
Log.e("stepFourApi", " response ---> " + Gson().toJson(data)) |
|
|
|
// binding.viewPager.currentItem = 4 |
|
|
|
saveFDOtherData(data, payUrl, value) |
|
|
|
} |
|
|
|
|
|
|
|
private fun createFDApi(data: CreateFDRequest, currentItem: Int, step: String) { |
|
|
|
if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { |
|
|
|
|
|
|
|
viewModel.createFDApi(data, token) |
|
|
|
viewModel.getFDResponseMutableData.observe(this) { response -> |
|
|
|
when (response) { |
|
|
|
is Resource.Success -> { |
|
|
|
Log.e("response", "-->$response") |
|
|
|
val createFDApplicationResponse: CreateFDApplicationResponse = |
|
|
|
Gson().fromJson( |
|
|
|
response.data?.toString(), |
|
|
|
CreateFDApplicationResponse::class.java |
|
|
|
) |
|
|
|
createFDApplicationResponse.Response.StatusCode.let { code -> |
|
|
|
when (code) { |
|
|
|
200 -> { |
|
|
|
binding.viewPager.currentItem = currentItem |
|
|
|
if (step == "2") { |
|
|
|
val stepThreeBajajFDFragment: StepThreeBajajFDFragment = |
|
|
|
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepThreeBajajFDFragment |
|
|
|
stepThreeBajajFDFragment.displayReceivedData( |
|
|
|
createFDApplicationResponse |
|
|
|
) |
|
|
|
} else { |
|
|
|
val stepFourFDFragment: StepFourBajajFDFragment = |
|
|
|
sectionsPagerAdapter.getRegisteredFragment(currentItem) as StepFourBajajFDFragment |
|
|
|
stepFourFDFragment.displayReceivedData( |
|
|
|
createFDApplicationResponse |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
// 650 -> refreshToken() |
|
|
|
else -> { |
|
|
|
showDialogValidation( |
|
|
|
this@BajajFdMainActivity, |
|
|
|
createFDApplicationResponse.Response.Errors[0].ErrorMessage |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
is Resource.Error -> { |
|
|
|
response.message?.let { message -> |
|
|
|
showDialogValidation(this@BajajFdMainActivity, message) |
|
|
|
} |
|
|
|
} |
|
|
|
is Resource.Loading -> { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { |
|
|
|
if (Common.isNetworkAvailable(this)) { |
|
|
|
viewModel.saveFDOtherData(data, token) |
|
|
|
viewModel.getFDOtherMutableData.observe(this) { response -> |
|
|
|
when (response) { |
|
|
|
is Resource.Success -> { |
|
|
|
Log.e("response", "-->" + response.data.toString()) |
|
|
|
val saveFDOtherDataResponse: SaveFDOtherDataResponse = |
|
|
|
Gson().fromJson( |
|
|
|
response.data?.toString(), |
|
|
|
SaveFDOtherDataResponse::class.java |
|
|
|
) |
|
|
|
saveFDOtherDataResponse.Response.StatusCode.let { code -> |
|
|
|
when (code) { |
|
|
|
200 -> { |
|
|
|
paymentDialog(payUrl, value) |
|
|
|
} |
|
|
|
// 650 -> refreshToken() |
|
|
|
else -> { |
|
|
|
showDialogValidation( |
|
|
|
this@BajajFdMainActivity, |
|
|
|
saveFDOtherDataResponse.Response.Errors[0].ErrorMessage |
|
|
|
) |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
is Resource.Error -> { |
|
|
|
response.message?.let { message -> |
|
|
|
showDialogValidation(this@BajajFdMainActivity, message) |
|
|
|
} |
|
|
|
} |
|
|
|
is Resource.Loading -> { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
override fun stepFourApi(payUrl: String, value: String) { |
|
|
|
paymentDialog(payUrl, value) |
|
|
|
} |
|
|
|
|
|
|
|
@SuppressLint("SetJavaScriptEnabled") |
|
|
|
fun paymentDialog(payUrl: String, value: String) { |
|
|
|
fun paymentDialog(payUrl: String, value: String) { |
|
|
|
Log.e("payUrl", "-->$payUrl") |
|
|
|
Log.e("value", "-->$value") |
|
|
|
val dialogWebView = Dialog(this@BajajFdMainActivity) |
|
|
|