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 f6c3d72..9d07be8 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 @@ -16,7 +16,7 @@ interface ApiInterface { @POST("WebApi_Bajaj/api/CheckFDCKYC") suspend fun checkFDKYC( - @Body requestBody: RequestBody, + @Body checkFDKYCRequest: CheckFDKYCRequest, @Header("token") token: String ): Response diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt new file mode 100644 index 0000000..ad4924a --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class CheckFDKYCRequest( + var DOB: String? ="", + var Mobile: String? = "", + var NiveshClientCode: String? = "", + var PAN: String?= "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt index 226ea0b..65beecc 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt @@ -23,7 +23,7 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { apiInterface.getCalculateFDMaturityAmount(requestBody, token) - suspend fun checkFDKYCResponse(createFDRequest: CreateFDRequest, token: String) = + suspend fun createFDKYCResponse(createFDRequest: CreateFDRequest, token: String) = apiInterface.createFDApp(createFDRequest, token) suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest, token: String) = @@ -85,4 +85,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) = apiInterface.payModeApi(getCodeRequest, token) + + suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) = + apiInterface.checkFDKYC(checkFDKYCRequest, token) + } \ 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 155d899..5ea057e 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 @@ -144,20 +144,20 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { if (Common.isNetworkAvailable(this@BajajFdMainActivity)) { val getClientDetailsRequest = getClientDetailsRequest() getClientDetailsRequest.client_code = "8872" - getClientDetailsRequest.AppOrWeb = "App" + getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "1038" val userRequest = UserRequest() userRequest.UID = 19060 userRequest.IPAddress = "" - userRequest.Source = "Nivesh" - userRequest.AppOrWeb = "App" + userRequest.Source = getString(R.string.source) + userRequest.AppOrWeb = getString(R.string.app) userRequest.LoggedInRoleId = 5 val deviceInfo = DeviceInfo() deviceInfo.device_id = "" deviceInfo.device_id_for_UMSId = "" - deviceInfo.device_type = "App" + deviceInfo.device_type = getString(R.string.app) deviceInfo.device_model = "" deviceInfo.device_token = "" deviceInfo.device_name = "" @@ -180,6 +180,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { when (code) { 200 -> { setViewPager(stepsCount) + checkFDCKYCApi() } // 650 -> refreshToken() else -> {} @@ -280,6 +281,55 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } + private fun checkFDCKYCApi() { + if (Common.isNetworkAvailable(this@BajajFdMainActivity)){ + if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) { + val checkFDKYCRequest = CheckFDKYCRequest() + checkFDKYCRequest.Mobile = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE + checkFDKYCRequest.DOB = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB + checkFDKYCRequest.PAN = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN + checkFDKYCRequest.NiveshClientCode = + getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString() + stepOneBajajFDViewModel.checkFDKYC(checkFDKYCRequest, token) + stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response -> + when (response) { + is Resource.Success -> { + Log.e("response", "-->$response") + val getCodeResponse: GetCodeResponse = + Gson().fromJson( + response.data?.toString(), + GetCodeResponse::class.java + ) + getCodeResponse.Response.StatusCode.let { code -> + when (code) { + 200 -> { + + fdInvestmentDetails.CustomerType = "" + } + // 650 -> refreshToken() + else -> {} + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Log.e(" ", "An error occurred:$message") + } + } + is Resource.Loading -> { + + } + } + } + } + } + + } + + // set background for selected/ default step private fun setBackground( drawable: Drawable?, diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt index 278b0cb..923dcab 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt @@ -85,7 +85,7 @@ class StepFourBajajFDFragment : Fragment() { binding.btnNext.setOnClickListener { if (binding.checkBox.isChecked) { - bajajFDInterface.stepFourApi("stepThreeResponse") + bajajFDInterface.stepFourApi("stepFourResponse") }else{ showDialogValidation(activity as BajajFdMainActivity, resources.getString(R.string.validTermsConditions)) } @@ -153,6 +153,10 @@ class StepFourBajajFDFragment : Fragment() { when (code) { 200 -> { + binding.tvInvestedAmount.text = "" + binding.tvTenure.text = "" + binding.tvInterestPayout.text = "" + binding.tvRateOfInterest.text = "" } // 650 -> refreshToken() else -> {} 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 c30abc0..9f83647 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 @@ -104,7 +104,6 @@ class StepOneBajajFDFragment : Fragment() { } } - // Tenure binding.spTenure.setOnItemClickListener { _, _, position, _ -> removeError(binding.tlInterestTenure) @@ -134,7 +133,6 @@ class StepOneBajajFDFragment : Fragment() { Log.e("DeductTax", "-->" + binding.rbDeductTax.isChecked) } - // Next Button binding.btnNext.setOnClickListener { if (validation()) { @@ -170,6 +168,7 @@ class StepOneBajajFDFragment : Fragment() { minAmountApi() interestPayoutApi() + return root } @@ -224,7 +223,6 @@ class StepOneBajajFDFragment : Fragment() { } } - private fun minAmountApi() { val getCodeRequest = GetCodeRequest() getCodeRequest.ProductName = getString(R.string.bajajFD) @@ -303,7 +301,6 @@ class StepOneBajajFDFragment : Fragment() { } } - private fun setUpRecyclerView() { recyclerViewDropDownAdapter = HorizontalRecyclerViewAdapter( @@ -323,7 +320,6 @@ class StepOneBajajFDFragment : Fragment() { binding.rvTenure.adapter = recyclerViewDropDownAdapter } - private fun maturityAmountApi(tenure: Int, interest: Double) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0) { @@ -372,7 +368,6 @@ class StepOneBajajFDFragment : Fragment() { } } - private fun validation(): Boolean { return if (binding.edtAmount.text.toString().isEmpty()) { commonErrorMethod( @@ -489,5 +484,4 @@ class StepOneBajajFDFragment : Fragment() { super.onDestroyView() _binding = null } - } \ No newline at end of file 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 d74a1e1..ce8d2a9 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 @@ -1342,13 +1342,14 @@ class StepTwoBajajFDFragment : Fragment() { cityListApi(adapter.getItem(0)?.State_Id) stateObject = adapter.getItem(0) as DataObject - + Log.e("if", " -->"+stateObject.State_Code) } else { for (title in listOfStates) { if (title.State_Code == newTitleText) { binding.spState.setText(title.State_Name, false) cityListApi(title.State_Id) - // val stateObject: DataObject = adapter.getItem(0) as DataObject + stateObject = title + Log.e("else", " -->"+stateObject.State_Code) break } } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt index 3ecd373..68fed01 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/BajajFDViewModel.kt @@ -32,7 +32,7 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() val getFDResponseMutableData: MutableLiveData> = MutableLiveData() fun createFDApi(getRatesRequest: CreateFDRequest, token :String) = viewModelScope.launch { getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.checkFDKYCResponse(getRatesRequest, token) + val response = mainRepository.createFDKYCResponse(getRatesRequest, token) getFDResponseMutableData.postValue(handleRatesResponse(response)) } diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt index ff0c74c..5ee7803 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt @@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData import androidx.lifecycle.ViewModel import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject +import com.nivesh.production.bajajfd.model.CheckFDKYCRequest import com.nivesh.production.bajajfd.model.GetCodeRequest import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest import com.nivesh.production.bajajfd.model.GetRatesRequest @@ -51,7 +52,12 @@ class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : View getMaxAmountMutableData.postValue(handleRatesResponse(response)) } - + val getFDKYCMutableData: MutableLiveData> = MutableLiveData() + fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String) = viewModelScope.launch { + getFDKYCMutableData.postValue(Resource.Loading()) + val response = mainRepository.checkFDKYCRequest(requestBody, token) + getFDKYCMutableData.postValue(handleRatesResponse(response)) + } private fun handleRatesResponse(response: retrofit2.Response): Resource { if (response.isSuccessful) { diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml index 05cd45f..5c430ce 100644 --- a/app/src/main/res/values-hi-rIN/strings.xml +++ b/app/src/main/res/values-hi-rIN/strings.xml @@ -40,7 +40,7 @@ 5 Years BajajFD InterestPayoutFreq - EN + en-UK-0 Min. 12 months, Max. 60 months MINAmount MAXAmount diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 7c16532..d6ab4a5 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -40,7 +40,7 @@ 5 Years BajajFD InterestPayoutFreq - EN + en-UK-0 Min. 12 months, Max. 60 months MINAmount MAXAmount