Browse Source

added fdresponse model

PankajBranch
Hemant Khadase 2 years ago
parent
commit
610a48697c
13 changed files with 178 additions and 23 deletions
  1. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  2. +1
    -1
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
  3. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationResponse.kt
  4. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/FDCreationDetailsResponse.kt
  5. +9
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt
  6. +3
    -0
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  7. +14
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
  8. +90
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  9. +3
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  10. +15
    -9
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  11. +3
    -2
      app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
  12. +19
    -6
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
  13. +2
    -2
      app/src/main/res/layout/item_bank_list_preview.xml

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

@ -153,4 +153,11 @@ interface ApiInterface {
@GET("WebApi/api/GetBankDetailsFromIFSC?")
suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response<JsonObject>
@POST("WebApi_Bajaj/GetCodes")
suspend fun payModeApi(
@Body getCodeRequest: GetCodeRequest,
@Header("token") token: String
): Response<JsonObject>
}

+ 1
- 1
app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt View File

@ -4,7 +4,7 @@ import com.nivesh.production.bajajfd.model.CreateFDRequest
interface BajajFDInterface {
fun stepOneApi(data: String?)
fun stepTwoApi(data: String?)
fun stepTwoApi(data: CreateFDRequest)
fun stepThreeApi(data: String?)
fun stepFourApi(data: String?)
}

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

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

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

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class FDCreationDetailsResponse(
val DocumentUploadFlag: Int,
val UniqueId: String,
val kycFlag: Int
)

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

@ -0,0 +1,9 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXXXXXXX(
val Errors: Any,
val FDCreationDetailsResponse: FDCreationDetailsResponse,
val Message: String,
val Status: String,
val StatusCode: Int
)

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

@ -82,4 +82,7 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun ifscCodeDetailsCheck(str: String, token: String) =
apiInterface.getIFSCDetailsApi(str, token)
suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.payModeApi(getCodeRequest, token)
}

+ 14
- 2
app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt View File

@ -44,6 +44,8 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
var nomineeGuardianDetails: NomineeGuardianDetails
var getClientDetailsResponse: getClientDetailsResponse
var stepCount : Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
@ -127,6 +129,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
stepsCountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
// setViewPager(stepsCountResponse.Response.StepsCount)
}
@ -308,14 +311,23 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
// step 2 response
override fun stepTwoApi(data: String?) {
override fun stepTwoApi(data: CreateFDRequest) {
Log.e("stepTwoApi", " response ---> $data")
binding.viewPager.currentItem = 2
if (stepCount == 4) {
binding.viewPager.currentItem = 2
}else{
// call create fd api
}
}
// step 3 response
override fun stepThreeApi(data: String?) {
Log.e("stepThreeApi", " response ---> $data")
// call create fd api
// StepFourBajajFDFragment.getInstance().getCreateFDResponse()
binding.viewPager.currentItem = 3
}


+ 90
- 1
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt View File

@ -1,15 +1,23 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.os.Bundle
import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetCodeResponse
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
import com.nivesh.production.bajajfd.util.Constants
import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
@ -83,7 +91,88 @@ class StepFourBajajFDFragment : Fragment() {
return root
}
override fun onDestroyView() {
fun getCreateFDResponse()
{
}
private fun paymentModeApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
getCodeRequest.Category = getString(R.string.genderCategory)
getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = ""
stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { 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 -> {
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun getFDDetailsApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetRatesRequest()
stepFourBajajFDViewModel.getFDDetails(getCodeRequest, Constants.token)
stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { 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 -> {
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
override fun onDestroyView() {
super.onDestroyView()
_binding = null
}

+ 3
- 0
app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt View File

@ -73,6 +73,7 @@ class StepOneBajajFDFragment : Fragment() {
listOfMinAmount = ArrayList()
listOfMaxAmount = ArrayList()
listOfFrequency = ArrayList()
rgMaturity = RadioButton(activity as BajajFdMainActivity)
// Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher {
@ -122,6 +123,7 @@ class StepOneBajajFDFragment : Fragment() {
}
// Maturity Options
rgMaturity.text = getString(R.string.additionalDetailOne)
binding.radioGroup.setOnCheckedChangeListener { group, checkedId ->
rgMaturity = group.findViewById(checkedId)
Log.e("Maturity", "-->" + rgMaturity.text)
@ -161,6 +163,7 @@ class StepOneBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = ""
(activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails
Log.e("Maturity", "-->" + rgMaturity.text)
bajajFDInterface.stepOneApi("stepOneResponse")
}
}


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

@ -1,6 +1,5 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.annotation.SuppressLint
import android.app.DatePickerDialog
import android.app.Dialog
import android.os.Bundle
@ -52,7 +51,7 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var bajajFDInterface: BajajFDInterface
private lateinit var rbBank: RadioButton
private var rbPaymentMode: RadioButton? = null
private lateinit var rbPaymentMode: RadioButton
private var cal = Calendar.getInstance()
private lateinit var listOfTitle: List<GetCodes>
@ -99,6 +98,8 @@ class StepTwoBajajFDFragment : Fragment() {
listOfStates = ArrayList()
listOfIFSC = ArrayList()
rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
// Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
binding.edtPANNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -120,7 +121,9 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtMobileNumber.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.mobile)
// create an OnDateSetListener
binding.edtDOB.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB)
if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()){
binding.edtDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.toString()))
}
binding.edtDOB.setOnClickListener {
removeError(binding.tlDOB)
datePicker(binding.edtDOB)
@ -368,7 +371,9 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
binding.edtNomineeDOB.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB)
if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeDOB.isNullOrEmpty()){
binding.edtNomineeDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(0)?.NomineeDOB.toString()))
}
binding.edtNomineeDOB.setOnClickListener {
removeError(binding.tlNomineeDOB)
datePicker(binding.edtNomineeDOB)
@ -505,9 +510,10 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
rbPaymentMode.text = getString(R.string.Upi)
binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
rbPaymentMode = group.findViewById(checkedId)
Log.e("paymentMode", "-->" + rbPaymentMode?.text)
Log.e("paymentMode", "-->" + rbPaymentMode.text)
}
binding.tvEligibleBankOption.setOnClickListener {
@ -674,7 +680,7 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdBankDetails.BankName =
bankListAdapter.getSelected()?.BankName
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =
rbPaymentMode?.text.toString()
rbPaymentMode.text.toString()
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantDetails = (activity as BajajFdMainActivity).applicantDetails
(activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantRelationDetails = (activity as BajajFdMainActivity).applicantRelationDetails
@ -688,7 +694,7 @@ class StepTwoBajajFDFragment : Fragment() {
"CreateFDRequest",
"-->" + Gson().toJson((activity as BajajFdMainActivity).createFDRequest)
)
bajajFDInterface.stepTwoApi("stepTwoResponse")
bajajFDInterface.stepTwoApi((activity as BajajFdMainActivity).createFDRequest)
}
}
@ -852,7 +858,8 @@ class StepTwoBajajFDFragment : Fragment() {
if (monthOfYear.toString().length == 1) {
"0".plus(monthOfYear)
}
edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
// edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
edtDOB.setText(years.toString().plus("-").plus(monthOfYear + 1).plus("-").plus(dayOfMonth.toString()))
edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day
)
@ -922,7 +929,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
@SuppressLint("ClickableViewAccessibility")
private fun titleApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()


+ 3
- 2
app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt View File

@ -175,9 +175,10 @@ class Common {
}
fun getDate(string :String): String {
val input = SimpleDateFormat("dd-MM-yyyy", Locale.US)
val input = SimpleDateFormat("dd/MM/yyyy", Locale.US)
val mDate : Date? = input.parse(string)
val simpleDateFormat = SimpleDateFormat("dd MMM, yyyy", Locale.US)
// val simpleDateFormat = SimpleDateFormat("dd MMM, yyyy", Locale.US)
val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
return simpleDateFormat.format(mDate as Date)
}
}

+ 19
- 6
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt View File

@ -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.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
import com.nivesh.production.bajajfd.util.Resource
@ -11,8 +12,24 @@ import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getPaymentModeMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getPaymentModeMutableData.postValue(Resource.Loading())
val response = mainRepository.payModeCheck(getCodeRequest, token)
getPaymentModeMutableData.postValue(handleRatesResponse(response))
}
val getFDDetailsMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getFDDetailsMutableData.postValue(handleRatesResponse(response))
}
private val getRatesMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
@ -29,11 +46,7 @@ class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : Vie
}
fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())


+ 2
- 2
app/src/main/res/layout/item_bank_list_preview.xml View File

@ -17,8 +17,8 @@
<ImageView
android:id="@+id/bankSelector"
android:layout_width="@dimen/margin_50"
android:layout_height="@dimen/margin_50"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_centerVertical="true"
android:layout_marginStart="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_10"


Loading…
Cancel
Save

Powered by TurnKey Linux.