Browse Source

payment list

pankaj 2 years ago
parent
commit
b882c1462c
8 changed files with 91 additions and 36 deletions
  1. +1
    -0
      app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
  2. +34
    -29
      app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
  3. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepFourBajajFDFragment.kt
  4. +15
    -2
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepOneBajajFDFragment.kt
  5. +18
    -1
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  6. +12
    -0
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/MyObseravble.kt
  7. +4
    -3
      app/src/main/res/layout/item_payment_list_preview.xml
  8. +1
    -1
      app/src/main/res/values/strings.xml

+ 1
- 0
app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt View File

@ -39,6 +39,7 @@ class BankListAdapter(
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.BankName
holder.tvBankIFSC.text = bankList.IFSCCode


+ 34
- 29
app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt View File

@ -1,22 +1,25 @@
package com.nivesh.production.bajajfd.adapter
package com.nivesh.production .bajajfd.adapter
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import android.widget.ImageView
import android.widget.TextView
import android.widget.Toast
import androidx.cardview.widget.CardView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.GetCodes
class PaymentModeAdapter(
private val bankList: List<GetCodes>?,
private val selectedAccount: String? = null
private val listOfPayMode: List<GetCodes>?,
private val selectedAmount: String? = null
) : RecyclerView.Adapter<PaymentModeAdapter.BankListViewHolder>() {
inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
val paymentSelector: ImageView = itemView.findViewById(R.id.paymentSelector)
val paymentMethod: TextView = itemView.findViewById(R.id.paymentMethod)
val tvUpiMsg: TextView = itemView.findViewById(R.id.tvUpiMsg)
val cardView:CardView=itemView.findViewById(R.id.cardView)
}
private var checkedPosition: Int = -2
@ -36,38 +39,40 @@ class PaymentModeAdapter(
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
val bankList = bankList?.get(position)
if (bankList != null) {
val listOfPayMode = listOfPayMode?.get(position)
if (listOfPayMode != null) {
holder.itemView.apply {
holder.tvBankName.text = bankList.Value
if (bankList.Value.equals("UPI")){
holder.paymentMethod.text = listOfPayMode.Value
if((selectedAmount!!.toDouble()) >= 100000.0 && listOfPayMode.Value == "UPI")
{
holder.cardView.visibility =View.GONE
}
Toast.makeText(context,"val $selectedAmount",Toast.LENGTH_SHORT).show()
if (listOfPayMode.Value.equals("UPI")){
holder.tvUpiMsg.text = context.getString(R.string.upto1LakhOnly)
}else{
holder.tvUpiMsg.text = ""
}
if (selectedAccount == bankList.Value && checkedPosition == -2
) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
checkedPosition = holder.adapterPosition
} else if (checkedPosition == -1) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
if (checkedPosition == -1) {
holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_outline)
} else if (checkedPosition == holder.adapterPosition) {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green)
} else {
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_outline)
holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_outline)
}
setOnClickListener {
onItemClickListener?.let {
it(bankList)
holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
holder.itemView.setOnClickListener {
holder.paymentSelector.setBackgroundResource(R.drawable.ic_select_green)
if (checkedPosition != holder.adapterPosition) {
notifyItemChanged(checkedPosition)
checkedPosition = holder.adapterPosition
}
}
}
@ -75,7 +80,7 @@ class PaymentModeAdapter(
}
override fun getItemCount(): Int {
return bankList?.size!!
return listOfPayMode?.size!!
}
private var onItemClickListener: ((GetCodes) -> Unit)? = null
@ -87,7 +92,7 @@ class PaymentModeAdapter(
fun getSelected(): GetCodes? {
return if (checkedPosition != -1) {
bankList?.get(checkedPosition)
listOfPayMode?.get(checkedPosition)
} else null
}

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

@ -7,6 +7,7 @@ import android.view.View
import android.view.ViewGroup
import androidx.core.content.res.ResourcesCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.LinearLayoutManager
import com.google.gson.Gson
import com.nivesh.production.bajajfd.R
@ -18,6 +19,7 @@ import com.nivesh.production.bajajfd.util.Common
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.MyObseravble
class StepFourBajajFDFragment : Fragment() {
@ -93,6 +95,10 @@ class StepFourBajajFDFragment : Fragment() {
}
}
binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 2
}


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

@ -13,6 +13,8 @@ import android.view.ViewGroup
import android.widget.ArrayAdapter
import android.widget.RadioButton
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.lifecycle.get
import androidx.recyclerview.widget.DefaultItemAnimator
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView.LayoutManager
@ -27,6 +29,7 @@ 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.MyObseravble
class StepOneBajajFDFragment : Fragment() {
@ -42,6 +45,8 @@ class StepOneBajajFDFragment : Fragment() {
private var tenure: Int = 0
private var interest: Double = 0.0
private lateinit var observerViewModel: MyObseravble
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?
@ -112,11 +117,19 @@ class StepOneBajajFDFragment : Fragment() {
Log.e("Maturity", "-->" + rgMaturity.text)
}
observerViewModel = activity?.run {
ViewModelProvider(this)[MyObseravble::class.java]
} ?: throw Exception("Invalid Activity")
// Next Button
binding.btnNext.setOnClickListener {
if (validation()) {
(activity as BajajFdMainActivity).fdInvestmentDetails.FDAmount =
binding.edtAmount.text.toString().toDouble()
(activity as BajajFdMainActivity).fdInvestmentDetails.FDAmount = binding.edtAmount.text.toString().toDouble()
observerViewModel.data.value = binding.edtAmount.text.toString()
(activity as BajajFdMainActivity).fdInvestmentDetails.Frequency =
binding.spInterestPayout.text.toString()
(activity as BajajFdMainActivity).fdInvestmentDetails.Tenure = tenure


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

@ -18,6 +18,7 @@ import android.widget.RadioButton
import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
import androidx.lifecycle.ViewModelProvider
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
@ -43,6 +44,7 @@ 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.MyObseravble
import java.util.*
@ -69,6 +71,10 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var rbBank: RadioButton
private lateinit var rbPaymentMode: RadioButton
private lateinit var observerViewModel: MyObseravble
private var amountEntered:String="0"
private var cal = Calendar.getInstance()
@ -94,6 +100,17 @@ class StepTwoBajajFDFragment : Fragment() {
stateObject = DataObject()
rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
observerViewModel = activity?.run {
ViewModelProvider(this)[MyObseravble::class.java]
} ?: throw Exception("Invalid Activity")
observerViewModel.data.observe(viewLifecycleOwner) {
amountEntered = observerViewModel.data.value.toString()
}
// Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
binding.edtPANNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -1243,7 +1260,7 @@ class StepTwoBajajFDFragment : Fragment() {
GridLayoutManager(activity as BajajFdMainActivity, 2)
paymentModeAdapter = PaymentModeAdapter(
listOfPayMode,
listOfPayMode[0].Value
amountEntered
)
binding.rvPaymentMode.adapter = paymentModeAdapter
}


+ 12
- 0
app/src/main/java/com/nivesh/production/bajajfd/viewModel/MyObseravble.kt View File

@ -0,0 +1,12 @@
package com.nivesh.production.bajajfd.viewModel
import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
open class MyObseravble : ViewModel()
{
val data = MutableLiveData<String>()
fun data(item: String) {
data.value = item
}
}

+ 4
- 3
app/src/main/res/layout/item_payment_list_preview.xml View File

@ -8,7 +8,8 @@
app:cardElevation="2dp"
app:cardMaxElevation="1dp"
app:cardPreventCornerOverlap="true"
app:cardUseCompatPadding="true">
app:cardUseCompatPadding="true"
android:id="@+id/cardView">
<LinearLayout
android:layout_width="match_parent"
@ -22,7 +23,7 @@
android:orientation="horizontal">
<ImageView
android:id="@+id/bankSelector"
android:id="@+id/paymentSelector"
android:layout_width="@dimen/margin_25"
android:layout_height="@dimen/margin_25"
android:layout_marginStart="@dimen/margin_10"
@ -32,7 +33,7 @@
android:padding="@dimen/margin_5" />
<TextView
android:id="@+id/tvBankName"
android:id="@+id/paymentMethod"
style="@style/BoldStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"


+ 1
- 1
app/src/main/res/values/strings.xml View File

@ -126,7 +126,7 @@
<string name="paymentMode">Payment Mode</string>
<string name="Upi">UPI</string>
<string name="netBanking">NetBanking</string>
<string name="upto1LakhOnly">Upto Rs. 1 Lakh Only</string>
<string name="upto1LakhOnly">Upto Rs. 1 lakh only for UPI</string>
<string name="eligibleBankOption">Eligible Bank Option</string>
<string name="paymentModeCategory">PaymentMode</string>
<string name="customerCategory">CustomerCategory</string>


Loading…
Cancel
Save

Powered by TurnKey Linux.