diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt index a576253..9267a21 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/SectionsPagerAdapter.kt @@ -2,18 +2,31 @@ package com.nivesh.production.bajajfd.adapter import androidx.fragment.app.Fragment import androidx.fragment.app.FragmentManager +import androidx.fragment.app.FragmentPagerAdapter -class SectionsPagerAdapter(private val fm: FragmentManager, private val fragments: Array, private val NumberOfTabs: Int) : SmartFragmentStatePagerAdapter(fm) { - override fun getItem(position: Int): Fragment { - return fragments[position] - } +class SectionsPagerAdapter(manager: FragmentManager,private val fragments: Array, private val NumberOfTabs: Int) : FragmentPagerAdapter(manager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT) { - override fun getPageTitle(position: Int): CharSequence? { - return null - } + private val titles = ArrayList() - override fun getCount(): Int { - return NumberOfTabs - } -} \ No newline at end of file + override fun getItem(position: Int): Fragment = fragments[position] + + override fun getCount(): Int = NumberOfTabs + + override fun getPageTitle(position: Int): CharSequence = titles[position] + +} +//class SectionsPagerAdapter(private val fm: FragmentManager, private val fragments: Array, private val NumberOfTabs: Int) : SmartFragmentStatePagerAdapter(fm) { +// +// override fun getItem(position: Int): Fragment { +// return fragments[position] +// } +// +// override fun getPageTitle(position: Int): CharSequence? { +// return null +// } +// +// override fun getCount(): Int { +// return NumberOfTabs +// } +//} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt deleted file mode 100644 index 9bf3033..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/SmartFragmentStatePagerAdapter.kt +++ /dev/null @@ -1,25 +0,0 @@ -package com.nivesh.production.bajajfd.adapter - -import android.util.SparseArray -import android.view.View -import android.view.ViewGroup -import androidx.fragment.app.Fragment -import androidx.fragment.app.FragmentManager -import androidx.fragment.app.FragmentPagerAdapter -import androidx.fragment.app.FragmentStatePagerAdapter -import androidx.viewpager2.adapter.FragmentStateAdapter - -abstract class SmartFragmentStatePagerAdapter(fragmentManager: FragmentManager) : FragmentPagerAdapter(fragmentManager) { - private val registeredFragments = SparseArray() - - override fun instantiateItem(container: ViewGroup, position: Int): Any { - val fragment = super.instantiateItem(container, position) as Fragment - registeredFragments.put(position, fragment) - return fragment - } - - // Returns the fragment for the position (if instantiated) - fun getRegisteredFragment(position: Int): Fragment? { - return registeredFragments[position] - } -} 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 3758c57..2c0fbf4 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 @@ -1,6 +1,7 @@ package com.nivesh.production.bajajfd.ui.activity import android.annotation.SuppressLint +import android.app.Activity import android.app.Dialog import android.graphics.Bitmap import android.graphics.drawable.Drawable @@ -35,7 +36,7 @@ import com.nivesh.production.bajajfd.viewModel.* class BajajFdMainActivity : BaseActivity() { lateinit var binding: ActivityBajajFdBinding - private lateinit var viewModel: BajajFDViewModel + lateinit var viewModel: BajajFDViewModel private val stepOneBajajFDFragment = StepOneBajajFDFragment() private val stepTwoBajajFDFragment = StepTwoBajajFDFragment() @@ -52,12 +53,12 @@ class BajajFdMainActivity : BaseActivity() { var nomineeDetails: NomineeDetails = NomineeDetails() var nomineeGuardianDetails: NomineeGuardianDetails = NomineeGuardianDetails() var getClientDetailsResponse: getClientDetailsResponse = getClientDetailsResponse() - var UniqueId: String = "" + var uniqueId: String = "" private var stepCount: Int = 0 private lateinit var sectionsPagerAdapter: SectionsPagerAdapter private lateinit var fragments: Array var dialogWebView: Dialog? = null - var LoginRole: Int = 0 + var loginRole: Int = 0 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) @@ -71,11 +72,11 @@ class BajajFdMainActivity : BaseActivity() { //start Repository viewModel = ViewModelProvider( - this, + this@BajajFdMainActivity, FDModelProviderFactory(MainRepository(ApiClient.getApiClient)) )[BajajFDViewModel::class.java] - LoginRole = 5 + loginRole = 5 if (Common.isNetworkAvailable(this)) { getStepsCountApi() } @@ -89,13 +90,12 @@ class BajajFdMainActivity : BaseActivity() { if (Common.isNetworkAvailable(this)) { val fdStepsCount = FDStepsCountRequest() fdStepsCount.FDProvider = getString(R.string.bajaj) - fdStepsCount.NiveshClientCode = "8872" - // client code =8872 /60476 + fdStepsCount.NiveshClientCode = "8872" // 60476 viewModel.getStepsCount(fdStepsCount, token, this) viewModel.getStepsCountMutableData.observe(this) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") val stepsCountResponse: StepsCountResponse = Gson().fromJson( response.data?.toString(), @@ -144,13 +144,12 @@ class BajajFdMainActivity : BaseActivity() { getClientDetailsRequest.client_code = "8872" getClientDetailsRequest.AppOrWeb = getString(R.string.app) getClientDetailsRequest.sub_broker_code = "1038" - // 8872/1038 val userRequest = UserRequest() userRequest.UID = 0 userRequest.IPAddress = "" userRequest.Source = getString(R.string.source) userRequest.AppOrWeb = getString(R.string.app) - userRequest.LoggedInRoleId = LoginRole + userRequest.LoggedInRoleId = loginRole val deviceInfo = DeviceInfo() deviceInfo.device_id = "" @@ -168,7 +167,7 @@ class BajajFdMainActivity : BaseActivity() { viewModel.getClientDetailsMutableData.observe(this) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") getClientDetailsResponse = Gson().fromJson( response.data?.toString(), @@ -230,17 +229,20 @@ class BajajFdMainActivity : BaseActivity() { val viewPager: DisableAdapter = binding.viewPager viewPager.setPagingEnabled(false) viewPager.adapter = sectionsPagerAdapter + if (sectionsPagerAdapter.getCount() > 1) { + viewPager.offscreenPageLimit = sectionsPagerAdapter.count - 1 + } else { + viewPager.offscreenPageLimit = 1 + } viewPager.addOnPageChangeListener(object : ViewPager.OnPageChangeListener { override fun onPageScrolled( position: Int, positionOffset: Float, positionOffsetPixels: Int ) { - Log.e("onPageScrolled", "-->".plus(position)) } override fun onPageSelected(position: Int) { - Log.e("onPageSelected", "-->".plus(position)) when (position) { 0 -> { setBackground( @@ -308,7 +310,7 @@ class BajajFdMainActivity : BaseActivity() { viewModel.getFDKYCMutableData.observe(this) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") val getCodeResponse: GetCodeResponse = Gson().fromJson( response.data?.toString(), @@ -363,24 +365,19 @@ class BajajFdMainActivity : BaseActivity() { } // step 1 response - fun stepOneApi(data: String?) { - Log.e("stepOneApi", " response ---> $data") + fun stepOneApi() { binding.viewPager.currentItem = 1 } // step 2 response - fun stepTwoApi(data: CreateFDApplicationResponse) { - Log.e("stepTwoApi", " response ---> " + Gson().toJson(data)) + fun stepTwoApi() { binding.viewPager.currentItem = 2 - stepThreeBajajFDFragment.displayReceivedData(data) } // step 3 response - fun stepThreeApi(data: CreateFDApplicationResponse) { - Log.e("stepThreeApi", " response --->" + Gson().toJson(data)) - // call create fd api + fun stepThreeApi() { binding.viewPager.currentItem = 3 - stepFourBajajFDFragment.displayReceivedData(data) + stepFourBajajFDFragment.displayReceivedData() } // step 4 response @@ -431,7 +428,7 @@ class BajajFdMainActivity : BaseActivity() { fun paymentReQueryApi() { if (Common.isNetworkAvailable(this)) { val paymentReQueryRequest = PaymentReQueryRequest() - paymentReQueryRequest.UniqueId = UniqueId + paymentReQueryRequest.UniqueId = uniqueId paymentReQueryRequest.NiveshClientCode = getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE viewModel.getPaymentReQuery(paymentReQueryRequest, token, this) diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt deleted file mode 100644 index e485989..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/BaseFragment.kt +++ /dev/null @@ -1,36 +0,0 @@ -package com.nivesh.production.bajajfd.ui.fragment - -import android.content.Context -import android.os.Bundle -import androidx.fragment.app.Fragment -import com.nivesh.production.bajajfd.ui.activity.BaseActivity - -open class BaseFragment : Fragment() { - protected var mActivity: BaseActivity? = null - - - - override fun onAttach(context: Context) { - super.onAttach(context) - if (context is BaseActivity) { - mActivity = context - } else try { - throw ClassCastException("You need to extend BaseActivity to calling activity.") - } catch (e: Exception) { - e.printStackTrace() - } - } - - override fun onCreate(savedInstanceState: Bundle?) { - super.onCreate(savedInstanceState) - } - - override fun onStart() { - super.onStart() - } - - override fun onStop() { - super.onStop() - } - -} diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt index aba6808..5f9ea63 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFiveBajajFDFragment.kt @@ -5,17 +5,11 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.fragment.app.Fragment -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFiveBinding import com.nivesh.production.bajajfd.model.PaymentReQueryResponse -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.ui.providerfactory.StepFiveModelProviderFactory -import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel class StepFiveBajajFDFragment : Fragment() { - private lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel private var _binding: FragmentBajajfdStepFiveBinding? = null private val binding get() = _binding!! @@ -27,17 +21,13 @@ class StepFiveBajajFDFragment : Fragment() { return binding.root } - fun getData(paymentReQueryResponse: PaymentReQueryResponse) { + fun getData(paymentReQueryResponse: PaymentReQueryResponse) { - } + } override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - stepFiveBajajFDViewModel = ViewModelProvider( - this, - StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)) - )[StepFiveBajajFDViewModel::class.java] binding.btnViewOrder.setOnClickListener { 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 8ca4229..a101888 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 @@ -6,32 +6,25 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.core.content.res.ResourcesCompat -import androidx.lifecycle.ViewModelProvider +import androidx.fragment.app.Fragment import androidx.recyclerview.widget.LinearLayoutManager import com.google.gson.Gson import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.adapter.CustomerListAdapter -import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepFourBinding import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity -import com.nivesh.production.bajajfd.ui.providerfactory.StepFourModelProviderFactory 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.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource -import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel -class StepFourBajajFDFragment : BaseFragment() { +class StepFourBajajFDFragment : Fragment() { - private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel private var _binding: FragmentBajajfdStepFourBinding? = null private val binding get() = _binding!! private lateinit var listOfCustomer: MutableList private var selectedList: String = "" - private var uniqueId: String = "" private var payUrl: String = "" private var value: String = "" @@ -46,25 +39,33 @@ class StepFourBajajFDFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - stepFourBajajFDViewModel = ViewModelProvider( - this, - StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient)) - )[StepFourBajajFDViewModel::class.java] binding.checkBox.setOnCheckedChangeListener { _, _ -> } - if ((activity as BajajFdMainActivity).LoginRole == 5) { - binding.btnNext.text = getString(R.string.pay) - binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.green, null)) - }else{ + if ((activity as BajajFdMainActivity).loginRole == 5) { + binding.btnNext.text = getString(R.string.pay) + binding.btnNext.setBackgroundColor( + ResourcesCompat.getColor( + resources, + R.color.green, + null + ) + ) + } else { binding.btnNext.text = getString(R.string.viewOrder) - binding.btnNext.setBackgroundColor(ResourcesCompat.getColor(resources, R.color.red, null)) + binding.btnNext.setBackgroundColor( + ResourcesCompat.getColor( + resources, + R.color.red, + null + ) + ) } binding.btnNext.setOnClickListener { - if ((activity as BajajFdMainActivity).LoginRole == 5) { + if ((activity as BajajFdMainActivity).loginRole == 5) { selectedList = "" for (getCodes in listOfCustomer) { if (getCodes.isSelected) { @@ -78,7 +79,7 @@ class StepFourBajajFDFragment : BaseFragment() { if (binding.checkBox.isChecked && selectedList.isNotEmpty()) { val saveFDOtherDataRequest = SaveFDOtherDataRequest() saveFDOtherDataRequest.FDProvider = getString(R.string.bajaj) - saveFDOtherDataRequest.UniqueId = uniqueId + saveFDOtherDataRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId saveFDOtherDataRequest.Values = selectedList saveFDOtherDataRequest.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE @@ -90,7 +91,7 @@ class StepFourBajajFDFragment : BaseFragment() { resources.getString(R.string.validTermsConditions) ) } - }else{ + } else { // go to view order } } @@ -101,8 +102,12 @@ class StepFourBajajFDFragment : BaseFragment() { } private fun saveFDOtherData(data: SaveFDOtherDataRequest, payUrl: String, value: String) { - stepFourBajajFDViewModel.saveFDOtherData(data, token, activity as BajajFdMainActivity) - stepFourBajajFDViewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.saveFDOtherData( + data, + token, + activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getFDOtherMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->" + response.data.toString()) @@ -142,14 +147,11 @@ class StepFourBajajFDFragment : BaseFragment() { } } - - fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { - uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - getFDDetailsApi(createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId) + fun displayReceivedData() { + getFDDetailsApi() customerListApi() } - private fun customerListApi() { val getCodeRequest = GetCodeRequest() @@ -157,12 +159,14 @@ class StepFourBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.customerCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepFourBajajFDViewModel.paymentModeApi( + (activity as BajajFdMainActivity).viewModel.paymentModeApi( getCodeRequest, - Constants.token, + token, activity as BajajFdMainActivity ) - stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -210,19 +214,21 @@ class StepFourBajajFDFragment : BaseFragment() { } - private fun getFDDetailsApi(uniqueId: String) { - if (Common.isNetworkAvailable(mActivity!!)) { + private fun getFDDetailsApi() { + if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getFDDetailsRequest = GetFDDetailsRequest() - getFDDetailsRequest.FDProvider = mActivity!!.getString(R.string.bajaj) + getFDDetailsRequest.FDProvider = getString(R.string.bajaj) getFDDetailsRequest.NiveshClientCode = - (mActivity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - getFDDetailsRequest.UniqueId = uniqueId - stepFourBajajFDViewModel.getFDDetails( + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + getFDDetailsRequest.UniqueId = (activity as BajajFdMainActivity).uniqueId + (activity as BajajFdMainActivity).viewModel.getFDDetails( getFDDetailsRequest, - Constants.token, + token, activity as BajajFdMainActivity ) - stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getFDDetailsMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") 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 687bed2..7228ff9 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 @@ -12,32 +12,27 @@ import android.view.View import android.view.ViewGroup import android.widget.ArrayAdapter import android.widget.RadioButton -import androidx.lifecycle.ViewModelProvider +import androidx.fragment.app.Fragment import androidx.recyclerview.widget.DefaultItemAnimator import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView.LayoutManager import com.google.gson.Gson import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.adapter.HorizontalRecyclerViewAdapter -import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepOneBinding import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity -import com.nivesh.production.bajajfd.ui.providerfactory.StepOneModelProviderFactory import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource -import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel -class StepOneBajajFDFragment : BaseFragment() { +class StepOneBajajFDFragment : Fragment() { private var _binding: FragmentBajajfdStepOneBinding? = null private val binding get() = _binding!! - private lateinit var stepOneBajajFDViewModel: StepOneBajajFDViewModel private lateinit var rgMaturity: RadioButton private lateinit var listOfTenure: MutableList private lateinit var recyclerViewDropDownAdapter: HorizontalRecyclerViewAdapter @@ -57,12 +52,8 @@ class StepOneBajajFDFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - stepOneBajajFDViewModel = ViewModelProvider( - this, - StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient)) - )[StepOneBajajFDViewModel::class.java] - listOfTenure = ArrayList() + listOfTenure = ArrayList() binding.edtAmount.filters = arrayOf(InputFilter.LengthFilter(8)) // upto 1 Cr listOfMinAmount = ArrayList() @@ -92,7 +83,6 @@ class StepOneBajajFDFragment : BaseFragment() { } else { binding.txtCumulativeNon.text = getString(R.string.cumulativeROI) } - if (binding.edtAmount.text.toString().trim().isNotEmpty()) { maturityAmountApi(tenure, interest) } @@ -123,11 +113,6 @@ class StepOneBajajFDFragment : BaseFragment() { Log.e("Maturity", "-->" + rgMaturity.text) } - // TAX Deduct - binding.rbDeductTax.setOnCheckedChangeListener { _, _ -> - Log.e("DeductTax", "-->" + binding.rbDeductTax.isChecked) - } - // Next Button binding.btnNext.setOnClickListener { if (validation()) { @@ -137,7 +122,8 @@ class StepOneBajajFDFragment : BaseFragment() { binding.spInterestPayout.text.toString() (activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure (activity as BajajFdMainActivity).fdInvestmentDetails.Interest = interest - (activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE + (activity as BajajFdMainActivity).fdInvestmentDetails.NiveshClientCode = + (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE (activity as BajajFdMainActivity).fdInvestmentDetails.Provider = getString(R.string.bajaj) (activity as BajajFdMainActivity).fdInvestmentDetails.IPAddress = "192.168.1.23" @@ -154,7 +140,8 @@ class StepOneBajajFDFragment : BaseFragment() { } (activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = "" (activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" - (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = (activity as BajajFdMainActivity).UniqueId + (activity as BajajFdMainActivity).fdInvestmentDetails.UniqueId = + (activity as BajajFdMainActivity).uniqueId (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails @@ -162,13 +149,12 @@ class StepOneBajajFDFragment : BaseFragment() { "StepOneData", "-->" + Gson().toJson((activity as BajajFdMainActivity).fdInvestmentDetails) ) - (activity as BajajFdMainActivity).stepOneApi("stepOneResponse") + (activity as BajajFdMainActivity).stepOneApi() } } minAmountApi() interestPayoutApi() - } private fun interestPayoutApi() { @@ -177,11 +163,15 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.category) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getCode(getCodeRequest, token, activity as BajajFdMainActivity) - stepOneBajajFDViewModel.getCodeMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getCode( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getCodeMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") val getCodeResponse: GetCodeResponse = Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) getCodeResponse.Response.StatusCode.let { code -> @@ -236,11 +226,17 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.minAmountCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getMinAmount(getCodeRequest, token, activity as BajajFdMainActivity) - stepOneBajajFDViewModel.getMinAmountMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getMinAmount( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getMinAmountMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") val getCodeResponse: GetCodeResponse = Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) getCodeResponse.Response.StatusCode.let { code -> @@ -286,11 +282,17 @@ class StepOneBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.MaxAmountCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepOneBajajFDViewModel.getMaxAmount(getCodeRequest, token, activity as BajajFdMainActivity) - stepOneBajajFDViewModel.getMaxAmountMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getMaxAmount( + getCodeRequest, + token, + activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getMaxAmountMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { - Log.e("response", "-->$response") + Log.e("response", "-->${response.data.toString()}") val getCodeResponse: GetCodeResponse = Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java) getCodeResponse.Response.StatusCode.let { code -> @@ -353,11 +355,13 @@ class StepOneBajajFDFragment : BaseFragment() { maturityAmountRequest.Frequency = binding.spInterestPayout.text.toString() maturityAmountRequest.Tenure = tenure maturityAmountRequest.Interest = interest - stepOneBajajFDViewModel.getMaturityAmount( + (activity as BajajFdMainActivity).viewModel.getMaturityAmount( maturityAmountRequest, activity as BajajFdMainActivity ) - stepOneBajajFDViewModel.getMaturityAmountMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getMaturityAmountMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { val getMaturityAmountResponse = @@ -452,8 +456,12 @@ class StepOneBajajFDFragment : BaseFragment() { } else { getRatesRequest.type = getString(R.string.nonSeniorCitizen) } - stepOneBajajFDViewModel.getRates(getRatesRequest, token, activity as BajajFdMainActivity) - stepOneBajajFDViewModel.getRatesMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getRates( + getRatesRequest, + token, + activity as BajajFdMainActivity + ) + (activity as BajajFdMainActivity).viewModel.getRatesMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { val getRatesResponse: GetRatesResponse = @@ -523,6 +531,6 @@ class StepOneBajajFDFragment : BaseFragment() { override fun onDestroyView() { super.onDestroyView() - _binding = null + _binding = null } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt index 28087f0..fe1ba66 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt @@ -2,7 +2,6 @@ package com.nivesh.production.bajajfd.ui.fragment import android.Manifest import android.annotation.SuppressLint -import android.app.Dialog import android.content.DialogInterface import android.content.Intent import android.content.pm.PackageManager @@ -24,35 +23,29 @@ import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.app.AlertDialog import androidx.core.content.ContextCompat import androidx.core.content.FileProvider -import androidx.lifecycle.ViewModelProvider +import androidx.fragment.app.Fragment import androidx.lifecycle.lifecycleScope import com.google.gson.Gson import com.nivesh.production.bajajfd.BuildConfig import com.nivesh.production.bajajfd.R -import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepThreeBinding import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity -import com.nivesh.production.bajajfd.ui.providerfactory.StepThreeModelProviderFactory import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.getFileExtension import com.nivesh.production.bajajfd.util.Constants import com.nivesh.production.bajajfd.util.ImageUtil import com.nivesh.production.bajajfd.util.Resource -import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel import java.io.* -class StepThreeBajajFDFragment : BaseFragment() { +class StepThreeBajajFDFragment : Fragment() { private var bitmap: Bitmap? = null private var latestTmpUri: Uri? = null private var _binding: FragmentBajajfdStepThreeBinding? = null private val binding get() = _binding!! - private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel - private lateinit var dialog: Dialog private var takeImageResult: ActivityResultLauncher? = null private var selectImageIntent: ActivityResultLauncher? = null @@ -64,7 +57,6 @@ class StepThreeBajajFDFragment : BaseFragment() { private var photoFileExt: String? = "" private var doc1FileExt: String? = "" private var doc2fileExt: String? = "" - private var uniqueId: String? = "" private var docValue: String = "" private val mainPANUpload: Int = 1 private val mainPhotoUpload: Int = 2 @@ -98,10 +90,6 @@ class StepThreeBajajFDFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - stepThreeBajajFDViewModel = ViewModelProvider( - this, - StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient)) - )[StepThreeBajajFDViewModel::class.java] selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent()) { uri: Uri? -> @@ -211,7 +199,7 @@ class StepThreeBajajFDFragment : BaseFragment() { private fun selectImage() { val builder = AlertDialog.Builder( - mActivity!! + activity as BajajFdMainActivity ) builder.setTitle("Add Photo!") builder.setItems( @@ -415,13 +403,15 @@ class StepThreeBajajFDFragment : BaseFragment() { du.ImageEncodeToBase64 = imageBase64 du.NiveshClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - du.UniqueId = uniqueId - stepThreeBajajFDViewModel.documentsUpload( + du.UniqueId = (activity as BajajFdMainActivity).uniqueId + (activity as BajajFdMainActivity).viewModel.documentsUpload( du, Constants.token, activity as BajajFdMainActivity ) - stepThreeBajajFDViewModel.getDocumentUploadMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getDocumentUploadMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { Log.e("UploadImage", "Response-->" + response.data.toString()) @@ -467,12 +457,14 @@ class StepThreeBajajFDFragment : BaseFragment() { } private fun createFDApi(data: CreateFDRequest) { - stepThreeBajajFDViewModel.createFDApi( + (activity as BajajFdMainActivity).viewModel.createFDApi( data, Constants.token, activity as BajajFdMainActivity ) - stepThreeBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe( + viewLifecycleOwner + ) { response -> when (response) { is Resource.Success -> { Log.e("createFDApi", "response--> " + response.data.toString()) @@ -484,9 +476,7 @@ class StepThreeBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { - (activity as BajajFdMainActivity).stepThreeApi( - createFDApplicationResponse - ) + (activity as BajajFdMainActivity).stepThreeApi() } // 650 -> refreshToken() else -> { @@ -520,12 +510,12 @@ class StepThreeBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.docType) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepThreeBajajFDViewModel.titleApi( + (activity as BajajFdMainActivity).viewModel.docTypeApi( getCodeRequest, Constants.token, activity as BajajFdMainActivity ) - stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getDocTypeMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -630,10 +620,6 @@ class StepThreeBajajFDFragment : BaseFragment() { ) } - fun displayReceivedData(createFDApplicationResponse: CreateFDApplicationResponse) { - uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - } - private fun uriToBitmap(selectedFileUri: Uri): Bitmap? { try { val parcelFileDescriptor = 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 c8f6ee4..544cb49 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 @@ -17,7 +17,7 @@ import android.widget.ArrayAdapter import android.widget.RadioButton import android.widget.TextView import androidx.core.content.ContextCompat -import androidx.lifecycle.ViewModelProvider +import androidx.fragment.app.Fragment import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -27,13 +27,9 @@ import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.adapter.BankListAdapter import com.nivesh.production.bajajfd.adapter.PaymentModeAdapter import com.nivesh.production.bajajfd.adapter.RecommendedBankListAdapter -import com.nivesh.production.bajajfd.api.ApiClient import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity -import com.nivesh.production.bajajfd.ui.providerfactory.StepTwoModelProviderFactory -import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorAutoCompleteMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonErrorMethod import com.nivesh.production.bajajfd.util.Common.Companion.commonSpinnerErrorMethod @@ -47,11 +43,10 @@ import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource -import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel import java.util.* -class StepTwoBajajFDFragment : BaseFragment() { +class StepTwoBajajFDFragment : Fragment() { private var _binding: FragmentBajajfdStepTwoBinding? = null private val binding get() = _binding!! @@ -71,7 +66,6 @@ class StepTwoBajajFDFragment : BaseFragment() { private lateinit var listOfCities: List private lateinit var listOfIFSC: MutableList - private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel private lateinit var bankListAdapter: BankListAdapter private lateinit var paymentModeAdapter: PaymentModeAdapter private lateinit var stateObject: DataObject @@ -89,10 +83,6 @@ class StepTwoBajajFDFragment : BaseFragment() { override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) - stepTwoBajajFDViewModel = ViewModelProvider( - this, - StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient)) - )[StepTwoBajajFDViewModel::class.java] listOfTitle = ArrayList() listOfGender = ArrayList() listOfAnnualIncome = ArrayList() @@ -531,7 +521,7 @@ class StepTwoBajajFDFragment : BaseFragment() { .plus(binding.edtLastName.text.toString()), binding.edtMobileNumber.text.toString(), 1 - ) + , (activity as BajajFdMainActivity).loginRole) } } @@ -547,7 +537,7 @@ class StepTwoBajajFDFragment : BaseFragment() { binding.addBankDetail.setOnClickListener { if (bankListAdapter.itemCount == 5) { - showDialogValidation(mActivity, getString(R.string.fiveAccountValidation)) + showDialogValidation(activity as BajajFdMainActivity, getString(R.string.fiveAccountValidation)) } else { showHideBankDetail() } @@ -728,8 +718,8 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun createFDApi(data: CreateFDRequest) { - stepTwoBajajFDViewModel.createFDApi(data, token, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.createFDApi(data, token, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getFDResponseMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -741,10 +731,8 @@ class StepTwoBajajFDFragment : BaseFragment() { createFDApplicationResponse.Response.StatusCode.let { code -> when (code) { 200 -> { - (activity as BajajFdMainActivity).UniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId - (activity as BajajFdMainActivity).stepTwoApi( - createFDApplicationResponse - ) + (activity as BajajFdMainActivity).uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId + (activity as BajajFdMainActivity).stepTwoApi() } // 650 -> refreshToken() @@ -775,8 +763,8 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun ifscCodeCheckApi(ifsc: String) { if (ifsc.length >= 10) { - stepTwoBajajFDViewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getIfscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.ifscCodeApi(ifsc, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getIfscCodeCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { val getIFSCCodeListResponse = @@ -841,11 +829,11 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun getIFSCDetailsApi(ifscCode: String) { - stepTwoBajajFDViewModel.ifscCodeDetailsApi( + (activity as BajajFdMainActivity).viewModel.ifscCodeDetailsApi( ifscCode, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getIfscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { if (response.data.toString().isNotEmpty()) { @@ -878,21 +866,21 @@ class StepTwoBajajFDFragment : BaseFragment() { private fun verifyAccountNo( bankAccount: String, Ifsc: String, name: String, phoneNumber: String, bankNo: Int - ) { + ,loginRole : Int) { val bankValidationApiRequest = BankValidationApiRequest() bankValidationApiRequest.BankAccountNo = bankAccount bankValidationApiRequest.IFSC = Ifsc bankValidationApiRequest.Name = name bankValidationApiRequest.PhoneNo = phoneNumber - bankValidationApiRequest.RoleId = 5 + bankValidationApiRequest.RoleId = loginRole bankValidationApiRequest.BankNo = bankNo - stepTwoBajajFDViewModel.bankValidationApi( + (activity as BajajFdMainActivity).viewModel.bankValidationApi( bankValidationApiRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.bankValidationApiMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { val getBankValidationApiResponse = @@ -1006,7 +994,7 @@ class StepTwoBajajFDFragment : BaseFragment() { requireActivity().windowManager.defaultDisplay.getMetrics(displayMetrics) val width = displayMetrics.widthPixels.toDouble() binding.rvClientBankList.layoutManager = LinearLayoutManager( - mActivity, + activity as BajajFdMainActivity, LinearLayoutManager.HORIZONTAL, false ) @@ -1063,8 +1051,8 @@ class StepTwoBajajFDFragment : BaseFragment() { (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code panCheck.panNumber = binding.edtPANNumber.text.toString() panCheck.mobileNumber = "" - stepTwoBajajFDViewModel.panCheck(panCheck, token, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.panCheck(panCheck, token, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getPanCheckMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { val panCheckResponse = @@ -1121,8 +1109,8 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.salutationCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.titleApi(getCodeRequest, token, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.titleApi(getCodeRequest, token, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getTitleMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1204,12 +1192,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.paymentModeCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.paymentModeApi( + (activity as BajajFdMainActivity).viewModel.paymentModeApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1266,12 +1254,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.genderCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.genderApi( + (activity as BajajFdMainActivity).viewModel.genderApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getGenderMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getGenderMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1326,12 +1314,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.relationshipCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.relationShipApi( + (activity as BajajFdMainActivity).viewModel.relationShipApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1394,12 +1382,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.maritalCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.maritalStatusApi( + (activity as BajajFdMainActivity).viewModel.maritalStatusApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getMaritalStatusMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1454,12 +1442,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.occupationCategory) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.occupationApi( + (activity as BajajFdMainActivity).viewModel.occupationApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getOccupationMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1514,12 +1502,12 @@ class StepTwoBajajFDFragment : BaseFragment() { getCodeRequest.Category = getString(R.string.annualIncome) getCodeRequest.Language = getString(R.string.language) getCodeRequest.InputValue = "" - stepTwoBajajFDViewModel.annualIncomeApi( + (activity as BajajFdMainActivity).viewModel.annualIncomeApi( getCodeRequest, token, activity as BajajFdMainActivity ) - stepTwoBajajFDViewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.getAnnualIncomeMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1569,8 +1557,8 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun stateListApi() { - stepTwoBajajFDViewModel.stateApi(token, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.stateApi(token, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1647,7 +1635,7 @@ class StepTwoBajajFDFragment : BaseFragment() { cityRequest.Type = "" cityRequest.ClientCode = (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE - cityRequest.RoleID = 5 + cityRequest.RoleID = (activity as BajajFdMainActivity).loginRole cityRequest.APIName = "" cityRequest.UID = 19060 cityRequest.Subbroker_Code = @@ -1656,8 +1644,8 @@ class StepTwoBajajFDFragment : BaseFragment() { cityRequest.HOCode = "" cityRequest.Source = getString(R.string.source) cityRequest.APP_Web = getString(R.string.app) - stepTwoBajajFDViewModel.cityListApi(cityRequest, token, activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.cityListApi(cityRequest, token, activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getCityListMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") @@ -1719,8 +1707,8 @@ class StepTwoBajajFDFragment : BaseFragment() { } private fun apiForEligibleBankList() { - stepTwoBajajFDViewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) - stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> + (activity as BajajFdMainActivity).viewModel.bankListApi(token,getString(R.string.language), activity as BajajFdMainActivity) + (activity as BajajFdMainActivity).viewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response -> when (response) { is Resource.Success -> { Log.e("response", "-->$response") diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt index 6734313..40c35fc 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/FDModelProviderFactory.kt @@ -4,7 +4,6 @@ import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModelProvider import com.nivesh.production.bajajfd.repositories.MainRepository import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel class FDModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt deleted file mode 100644 index c04ac03..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFiveModelProviderFactory.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.nivesh.production.bajajfd.ui.providerfactory - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.viewModel.StepFiveBajajFDViewModel - -class StepFiveModelProviderFactory(private val mainRepository: MainRepository) : - ViewModelProvider.Factory { - - override fun create(modelClass: Class): T { - return StepFiveBajajFDViewModel(mainRepository) as T - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt deleted file mode 100644 index 851343b..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepFourModelProviderFactory.kt +++ /dev/null @@ -1,15 +0,0 @@ -package com.nivesh.production.bajajfd.ui.providerfactory - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel - -class StepFourModelProviderFactory(private val mainRepository: MainRepository) : - ViewModelProvider.Factory { - - override fun create(modelClass: Class): T { - return StepFourBajajFDViewModel(mainRepository) as T - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt deleted file mode 100644 index 6cf1db0..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepOneModelProviderFactory.kt +++ /dev/null @@ -1,14 +0,0 @@ -package com.nivesh.production.bajajfd.ui.providerfactory - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel - -class StepOneModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { - - override fun create(modelClass: Class): T { - return StepOneBajajFDViewModel(mainRepository) as T - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt deleted file mode 100644 index 7e60bf4..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepThreeModelProviderFactory.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.nivesh.production.bajajfd.ui.providerfactory - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel - -class StepThreeModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { - - override fun create(modelClass: Class): T { - return StepThreeBajajFDViewModel(mainRepository) as T - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt deleted file mode 100644 index 847c8ca..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/ui/providerfactory/StepTwoModelProviderFactory.kt +++ /dev/null @@ -1,16 +0,0 @@ -package com.nivesh.production.bajajfd.ui.providerfactory - -import androidx.lifecycle.ViewModel -import androidx.lifecycle.ViewModelProvider -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.viewModel.BajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepOneBajajFDViewModel -import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel - -class StepTwoModelProviderFactory (private val mainRepository: MainRepository) : ViewModelProvider.Factory { - - override fun create(modelClass: Class): T { - return StepTwoBajajFDViewModel(mainRepository) as T - } - -} \ No newline at end of file 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 732aba4..6a2bafb 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 @@ -7,14 +7,14 @@ import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject import com.nivesh.production.bajajfd.model.* import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common import com.nivesh.production.bajajfd.util.Common.Companion.handleError import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse +import com.nivesh.production.bajajfd.util.Constants import com.nivesh.production.bajajfd.util.Resource import kotlinx.coroutines.launch -class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { +open class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { val getStepsCountMutableData: MutableLiveData> = MutableLiveData() fun getStepsCount( @@ -49,7 +49,6 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } } - val getPaymentReQueryMutableData: MutableLiveData> = MutableLiveData() fun getPaymentReQuery(requestBody: PaymentReQueryRequest, token : String, activity: Activity) = viewModelScope.launch(handleError(activity)) { if (Common.isNetworkAvailable(activity)) { @@ -60,4 +59,317 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() } + // Step 1 Api + val getMinAmountMutableData: MutableLiveData> = MutableLiveData() + fun getMinAmount(requestBody: GetCodeRequest, token: String, activity: Activity) = + viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMinAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getMinAmountMutableData.postValue(handleResponse(response)) + } + } + + val getMaxAmountMutableData: MutableLiveData> = MutableLiveData() + fun getMaxAmount(requestBody: GetCodeRequest, token: String, activity: Activity) = + viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMaxAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getMaxAmountMutableData.postValue(handleResponse(response)) + } + } + + val getMaturityAmountMutableData: MutableLiveData> = MutableLiveData() + fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) = + viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMaturityAmountMutableData.postValue(Resource.Loading()) + val response = mainRepository.createCalculateFDMaturityAmount(requestBody, + Constants.token + ) + getMaturityAmountMutableData.postValue(handleResponse(response)) + } + } + + val getRatesMutableData: MutableLiveData> = MutableLiveData() + fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) = + viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.getRatesResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } + } + + val getCodeMutableData: MutableLiveData> = MutableLiveData() + fun getCode(requestBody: GetCodeRequest, token: String, activity: Activity) = + viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getCodeMutableData.postValue(Resource.Loading()) + val response = mainRepository.getCodesResponse(requestBody, token) + getCodeMutableData.postValue(handleResponse(response)) + } + } + + + // Step 2 + val getPanCheckMutableData: MutableLiveData> = MutableLiveData() + fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getPanCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.panCheck(panCheck, token) + getPanCheckMutableData.postValue(handleResponse(response)) + } + } + + val getTitleMutableData: MutableLiveData> = MutableLiveData() + fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getTitleMutableData.postValue(Resource.Loading()) + val response = mainRepository.titleCheck(getCodeRequest, token) + getTitleMutableData.postValue(handleResponse(response)) + } + } + + val getGenderMutableData: MutableLiveData> = MutableLiveData() + fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getGenderMutableData.postValue(Resource.Loading()) + val response = mainRepository.genderCheck(getCodeRequest, token) + getGenderMutableData.postValue(handleResponse(response)) + } + } + + val getAnnualIncomeMutableData: MutableLiveData> = MutableLiveData() + fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getAnnualIncomeMutableData.postValue(Resource.Loading()) + val response = mainRepository.annualIncomeCheck(getCodeRequest, token) + getAnnualIncomeMutableData.postValue(handleResponse(response)) + } + } + + val getRelationShipMutableData: MutableLiveData> = MutableLiveData() + fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getRelationShipMutableData.postValue(Resource.Loading()) + val response = mainRepository.relationShipCheck(getCodeRequest, token) + getRelationShipMutableData.postValue(handleResponse(response)) + } + } + + val getMaritalStatusMutableData: MutableLiveData> = MutableLiveData() + fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getMaritalStatusMutableData.postValue(Resource.Loading()) + val response = mainRepository.maritalStatusCheck(getCodeRequest, token) + getMaritalStatusMutableData.postValue(handleResponse(response)) + } + } + + val getOccupationMutableData: MutableLiveData> = MutableLiveData() + fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getOccupationMutableData.postValue(Resource.Loading()) + val response = mainRepository.occupationCheck(getCodeRequest, token) + getOccupationMutableData.postValue(handleResponse(response)) + } + } + + + val getStateMasterMutableData: MutableLiveData> = MutableLiveData() + fun stateApi(token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getStateMasterMutableData.postValue(Resource.Loading()) + val response = mainRepository.stateCheck(token) + getStateMasterMutableData.postValue(handleResponse(response)) + } + } + + val getCityListMutableData: MutableLiveData> = MutableLiveData() + fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getCityListMutableData.postValue(Resource.Loading()) + val response = mainRepository.cityCheck(cityRequest, token) + getCityListMutableData.postValue(handleResponse(response)) + } + } + + val getFDBankListMutableData: MutableLiveData> = MutableLiveData() + fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getFDBankListMutableData.postValue(Resource.Loading()) + val response = mainRepository.bankListCheck(token, language) + getFDBankListMutableData.postValue(handleResponse(response)) + } + } + + val getIfscCodeCheckMutableData: MutableLiveData> = MutableLiveData() + fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getIfscCodeCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.ifscCodeCheck(ifsc) + getIfscCodeCheckMutableData.postValue(handleResponse(response)) + } + } + + val getIfscCodeDetailsCheckMutableData: MutableLiveData> = MutableLiveData() + fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getIfscCodeDetailsCheckMutableData.postValue(Resource.Loading()) + val response = mainRepository.ifscCodeBankDetailsCheck(ifsc, Constants.token) + getIfscCodeDetailsCheckMutableData.postValue(Common.handleResponse1(response)) + } + } + + val getPaymentModeMutableData: MutableLiveData> = MutableLiveData() + fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getPaymentModeMutableData.postValue(Resource.Loading()) + val response = mainRepository.payModeCheck(getCodeRequest, token) + getPaymentModeMutableData.postValue(handleResponse(response)) + } + } + + val getFDResponseMutableData: MutableLiveData> = MutableLiveData() + fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getFDResponseMutableData.postValue(Resource.Loading()) + val response = mainRepository.createFDKYCResponse(getRatesRequest, token) + getFDResponseMutableData.postValue(handleResponse(response)) + } + } + + val bankValidationApiMutableData: MutableLiveData> = MutableLiveData() + fun bankValidationApi(bankValidationApiRequest : BankValidationApiRequest,token:String,activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + bankValidationApiMutableData.postValue(Resource.Loading()) + val response = mainRepository.bankValidationApiRequest(bankValidationApiRequest,token) + bankValidationApiMutableData.postValue(handleResponse(response)) + } + } + + // Step 3 + val getDocTypeMutableData: MutableLiveData> = MutableLiveData() + fun docTypeApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getDocTypeMutableData.postValue(Resource.Loading()) + val response = mainRepository.titleCheck(getCodeRequest, token) + getDocTypeMutableData.postValue(handleResponse(response)) + } + } + + + val getDocumentUploadMutableData: MutableLiveData> = MutableLiveData() + fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch( + handleError(activity) + ) { + if (Common.isNetworkAvailable(activity)) { + getDocumentUploadMutableData.postValue(Resource.Loading()) + val response = mainRepository.documentsUploadResponse(documentUpload, token) + getDocumentUploadMutableData.postValue(handleResponse(response)) + } + } + + // Step 4 + val getFDDetailsMutableData: MutableLiveData> = MutableLiveData() + fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String, + activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getFDDetailsMutableData.postValue(Resource.Loading()) + val response = mainRepository.getFDDetailsResponse(getRatesRequest, token) + getFDDetailsMutableData.postValue(handleResponse(response)) + } + } + + val getFDOtherMutableData: MutableLiveData> = MutableLiveData() + fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String, + activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getFDOtherMutableData.postValue(Resource.Loading()) + val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) + getFDOtherMutableData.postValue(handleResponse(response)) + } + } + + fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, + activity: Activity + ) = + viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } + } + + fun finaliseFD(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.finaliseFDResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } + } + + fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String, + activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } + } + + fun paymentReQuery(getRatesRequest: PaymentReQueryRequest, token: String, + activity: Activity) = viewModelScope.launch(handleError(activity)) { + if (Common.isNetworkAvailable(activity)) { + getRatesMutableData.postValue(Resource.Loading()) + val response = mainRepository.paymentReQueryResponse(getRatesRequest, token) + getRatesMutableData.postValue(handleResponse(response)) + } + } } \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt deleted file mode 100644 index ca3c984..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFiveBajajFDViewModel.kt +++ /dev/null @@ -1,9 +0,0 @@ -package com.nivesh.production.bajajfd.viewModel - -import androidx.lifecycle.ViewModel -import com.nivesh.production.bajajfd.repositories.MainRepository - -class StepFiveBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt deleted file mode 100644 index 74af264..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt +++ /dev/null @@ -1,85 +0,0 @@ -package com.nivesh.production.bajajfd.viewModel - -import android.app.Activity -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.google.gson.JsonObject -import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common -import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse -import com.nivesh.production.bajajfd.util.Resource -import kotlinx.coroutines.launch - -class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - - val getPaymentModeMutableData: MutableLiveData> = MutableLiveData() - fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String, - activity: Activity - ) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getPaymentModeMutableData.postValue(Resource.Loading()) - val response = mainRepository.payModeCheck(getCodeRequest, token) - getPaymentModeMutableData.postValue(handleResponse(response)) - } - } - - val getFDDetailsMutableData: MutableLiveData> = MutableLiveData() - fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String, - activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getFDDetailsMutableData.postValue(Resource.Loading()) - val response = mainRepository.getFDDetailsResponse(getRatesRequest, token) - getFDDetailsMutableData.postValue(handleResponse(response)) - } - } - - val getRatesMutableData: MutableLiveData> = MutableLiveData() - fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String, - activity: Activity) = - viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) - } - } - - fun finaliseFD(getRatesRequest: GetRatesRequest, token: String, - activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.finaliseFDResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) - } - } - - fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String, - activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.finaliseKYCResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) - } - } - - fun paymentReQuery(getRatesRequest: PaymentReQueryRequest, token: String, - activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.paymentReQueryResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) - } - } - - val getFDOtherMutableData: MutableLiveData> = MutableLiveData() - fun saveFDOtherData(getRatesRequest: SaveFDOtherDataRequest, token: String, - activity: Activity) = viewModelScope.launch(Common.handleError(activity)) { - if (Common.isNetworkAvailable(activity)) { - getFDOtherMutableData.postValue(Resource.Loading()) - val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token) - getFDOtherMutableData.postValue(handleResponse(response)) - } - } -} \ No newline at end of file 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 deleted file mode 100644 index f9245ac..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt +++ /dev/null @@ -1,79 +0,0 @@ -package com.nivesh.production.bajajfd.viewModel - -import android.app.Activity -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.GetMaturityAmountRequest -import com.nivesh.production.bajajfd.model.GetRatesRequest -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common -import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse -import com.nivesh.production.bajajfd.util.Constants.Companion.token -import com.nivesh.production.bajajfd.util.Resource -import kotlinx.coroutines.launch - -class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - - val getCodeMutableData: MutableLiveData> = MutableLiveData() - fun getCode(requestBody: GetCodeRequest, token: String, activity: Activity) = - viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getCodeMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getCodeMutableData.postValue(handleResponse(response)) - } - } - - val getRatesMutableData: MutableLiveData> = MutableLiveData() - fun getRates(getRatesRequest: GetRatesRequest, token: String, activity: Activity) = - viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getRatesMutableData.postValue(Resource.Loading()) - val response = mainRepository.getRatesResponse(getRatesRequest, token) - getRatesMutableData.postValue(handleResponse(response)) - } - } - - val getMaturityAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMaturityAmount(requestBody: GetMaturityAmountRequest, activity: Activity) = - viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getMaturityAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.createCalculateFDMaturityAmount(requestBody, token) - getMaturityAmountMutableData.postValue(handleResponse(response)) - } - } - - val getMinAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMinAmount(requestBody: GetCodeRequest, token: String, activity: Activity) = - viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getMinAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getMinAmountMutableData.postValue(handleResponse(response)) - } - } - - val getMaxAmountMutableData: MutableLiveData> = MutableLiveData() - fun getMaxAmount(requestBody: GetCodeRequest, token: String, activity: Activity) = - viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getMaxAmountMutableData.postValue(Resource.Loading()) - val response = mainRepository.getCodesResponse(requestBody, token) - getMaxAmountMutableData.postValue(handleResponse(response)) - } - } -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt deleted file mode 100644 index f65da9a..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt +++ /dev/null @@ -1,53 +0,0 @@ -package com.nivesh.production.bajajfd.viewModel - -import android.app.Activity -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.google.gson.JsonObject -import com.nivesh.production.bajajfd.model.CreateFDRequest -import com.nivesh.production.bajajfd.model.DocumentUpload -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.Common -import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse -import com.nivesh.production.bajajfd.util.Resource -import kotlinx.coroutines.launch - -class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - - val getTitleMutableData: MutableLiveData> = MutableLiveData() - fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity: Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getTitleMutableData.postValue(Resource.Loading()) - val response = mainRepository.titleCheck(getCodeRequest, token) - getTitleMutableData.postValue(handleResponse(response)) - } - } - - val getDocumentUploadMutableData: MutableLiveData> = MutableLiveData() - fun documentsUpload(documentUpload: DocumentUpload, token: String, activity: Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getDocumentUploadMutableData.postValue(Resource.Loading()) - val response = mainRepository.documentsUploadResponse(documentUpload, token) - getDocumentUploadMutableData.postValue(handleResponse(response)) - } - } - - val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token: String, activity: Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.createFDKYCResponse(getRatesRequest, token) - getFDResponseMutableData.postValue(handleResponse(response)) - } - } - -} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt deleted file mode 100644 index 7a8d89a..0000000 --- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt +++ /dev/null @@ -1,191 +0,0 @@ -package com.nivesh.production.bajajfd.viewModel - -import android.app.Activity -import androidx.lifecycle.MutableLiveData -import androidx.lifecycle.ViewModel -import androidx.lifecycle.viewModelScope -import com.google.gson.JsonObject -import com.nivesh.production.bajajfd.model.* -import com.nivesh.production.bajajfd.repositories.MainRepository -import com.nivesh.production.bajajfd.util.Common -import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse -import com.nivesh.production.bajajfd.util.Common.Companion.handleResponse1 -import com.nivesh.production.bajajfd.util.Constants.Companion.token -import com.nivesh.production.bajajfd.util.Resource -import kotlinx.coroutines.launch -import org.intellij.lang.annotations.Language - -class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() { - - val getPanCheckMutableData: MutableLiveData> = MutableLiveData() - fun panCheck(panCheck: PanCheckRequest, token: String, activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getPanCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.panCheck(panCheck, token) - getPanCheckMutableData.postValue(handleResponse(response)) - } - } - - val getTitleMutableData: MutableLiveData> = MutableLiveData() - fun titleApi(getCodeRequest: GetCodeRequest, token: String, activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getTitleMutableData.postValue(Resource.Loading()) - val response = mainRepository.titleCheck(getCodeRequest, token) - getTitleMutableData.postValue(handleResponse(response)) - } - } - - val getGenderMutableData: MutableLiveData> = MutableLiveData() - fun genderApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getGenderMutableData.postValue(Resource.Loading()) - val response = mainRepository.genderCheck(getCodeRequest, token) - getGenderMutableData.postValue(handleResponse(response)) - } - } - - val getAnnualIncomeMutableData: MutableLiveData> = MutableLiveData() - fun annualIncomeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getAnnualIncomeMutableData.postValue(Resource.Loading()) - val response = mainRepository.annualIncomeCheck(getCodeRequest, token) - getAnnualIncomeMutableData.postValue(handleResponse(response)) - } - } - - val getRelationShipMutableData: MutableLiveData> = MutableLiveData() - fun relationShipApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getRelationShipMutableData.postValue(Resource.Loading()) - val response = mainRepository.relationShipCheck(getCodeRequest, token) - getRelationShipMutableData.postValue(handleResponse(response)) - } - } - - val getMaritalStatusMutableData: MutableLiveData> = MutableLiveData() - fun maritalStatusApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getMaritalStatusMutableData.postValue(Resource.Loading()) - val response = mainRepository.maritalStatusCheck(getCodeRequest, token) - getMaritalStatusMutableData.postValue(handleResponse(response)) - } - } - - val getOccupationMutableData: MutableLiveData> = MutableLiveData() - fun occupationApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getOccupationMutableData.postValue(Resource.Loading()) - val response = mainRepository.occupationCheck(getCodeRequest, token) - getOccupationMutableData.postValue(handleResponse(response)) - } - } - - - val getStateMasterMutableData: MutableLiveData> = MutableLiveData() - fun stateApi(token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getStateMasterMutableData.postValue(Resource.Loading()) - val response = mainRepository.stateCheck(token) - getStateMasterMutableData.postValue(handleResponse(response)) - } - } - - val getCityListMutableData: MutableLiveData> = MutableLiveData() - fun cityListApi(cityRequest: CityRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getCityListMutableData.postValue(Resource.Loading()) - val response = mainRepository.cityCheck(cityRequest, token) - getCityListMutableData.postValue(handleResponse(response)) - } - } - - val getFDBankListMutableData: MutableLiveData> = MutableLiveData() - fun bankListApi( token: String,language: String, activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getFDBankListMutableData.postValue(Resource.Loading()) - val response = mainRepository.bankListCheck(token, language) - getFDBankListMutableData.postValue(handleResponse(response)) - } - } - - val getIfscCodeCheckMutableData: MutableLiveData> = MutableLiveData() - fun ifscCodeApi(ifsc : String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getIfscCodeCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.ifscCodeCheck(ifsc) - getIfscCodeCheckMutableData.postValue(handleResponse(response)) - } - } - - val getIfscCodeDetailsCheckMutableData: MutableLiveData> = MutableLiveData() - fun ifscCodeDetailsApi(ifsc : String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getIfscCodeDetailsCheckMutableData.postValue(Resource.Loading()) - val response = mainRepository.ifscCodeBankDetailsCheck(ifsc, token) - getIfscCodeDetailsCheckMutableData.postValue(handleResponse1(response)) - } - } - - - val getPaymentModeMutableData: MutableLiveData> = MutableLiveData() - fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getPaymentModeMutableData.postValue(Resource.Loading()) - val response = mainRepository.payModeCheck(getCodeRequest, token) - getPaymentModeMutableData.postValue(handleResponse(response)) - } - } - - val getFDResponseMutableData: MutableLiveData> = MutableLiveData() - fun createFDApi(getRatesRequest: CreateFDRequest, token: String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - getFDResponseMutableData.postValue(Resource.Loading()) - val response = mainRepository.createFDKYCResponse(getRatesRequest, token) - getFDResponseMutableData.postValue(handleResponse(response)) - } - } - - - - - val bankValidationApiMutableData: MutableLiveData> = MutableLiveData() - - fun bankValidationApi(bankValidationApiRequest : BankValidationApiRequest,token:String,activity : Activity) = viewModelScope.launch( - Common.handleError(activity) - ) { - if (Common.isNetworkAvailable(activity)) { - bankValidationApiMutableData.postValue(Resource.Loading()) - val response = mainRepository.bankValidationApiRequest(bankValidationApiRequest,token) - bankValidationApiMutableData.postValue(handleResponse(response)) - } - } - -} \ No newline at end of file