@ -20,7 +20,7 @@ import com.nivesh.production.bajajfd.util.Common.Companion.isIndianMobileNo
import com.nivesh.production.bajajfd.util.Common.Companion.isValidEmail
import com.nivesh.production.bajajfd.util.Common.Companion.isValidName
import com.nivesh.production.bajajfd.util.Common.Companion.isValidPan
import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel
import com.nivesh.production.bajajfd.util.Common.Companion.removeError
class StepTwoBajajFDFragment : Fragment ( ) {
@ -29,7 +29,6 @@ class StepTwoBajajFDFragment : Fragment() {
private val binding get ( ) = _binding !!
private lateinit var bajajFDInterface : BajajFDInterface
private lateinit var stepTwoBajajFDViewModel : StepTwoBajajFDViewModel
companion object {
fun getInstance ( fdInterface : BajajFDInterface ) : StepTwoBajajFDFragment {
@ -64,11 +63,11 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlMobileNumber . error = null
removeError ( binding . tlMobileNumber )
}
} )
binding . edtDOB . setOnClickListener {
removeError ( binding . tlDOB )
}
binding . edtPANNumber . addTextChangedListener ( object : TextWatcher {
@ -79,7 +78,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlPanNumber . error = null
removeError ( binding . tlPanNumber )
}
} )
@ -91,8 +90,8 @@ class StepTwoBajajFDFragment : Fragment() {
)
)
binding . spTitle . setAdapter ( titleAdapter )
binding . spTitle . setOnItemClickListener { parent , view , position , id - >
binding . tlTitle . error = null
binding . spTitle . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlTitle )
}
binding . edtFirstName . addTextChangedListener ( object : TextWatcher {
@ -104,7 +103,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlFirstName . error = null
removeError ( binding . tlFirstName )
}
} )
binding . edtMiddleName . addTextChangedListener ( object : TextWatcher {
@ -116,7 +115,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlMiddleName . error = null
removeError ( binding . tlMiddleName )
}
} )
binding . edtLastName . addTextChangedListener ( object : TextWatcher {
@ -128,7 +127,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlLastName . error = null
removeError ( binding . tlLastName )
}
} )
@ -140,8 +139,8 @@ class StepTwoBajajFDFragment : Fragment() {
)
)
binding . spGender . setAdapter ( genderAdapter )
binding . spGender . setOnItemClickListener { parent , view , position , id - >
binding . tlGender . error = null
binding . spGender . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlGender )
}
binding . edtEmail . addTextChangedListener ( object : TextWatcher {
@ -153,7 +152,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlEmail . error = null
removeError ( binding . tlEmail )
}
} )
binding . edtOccupation . addTextChangedListener ( object : TextWatcher {
@ -165,7 +164,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlOccupation . error = null
removeError ( binding . tlOccupation )
}
} )
binding . edtQualification . addTextChangedListener ( object : TextWatcher {
@ -177,7 +176,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlQualification . error = null
removeError ( binding . tlQualification )
}
} )
@ -189,8 +188,8 @@ class StepTwoBajajFDFragment : Fragment() {
)
)
binding . spMarital . setAdapter ( maritalAdapter )
binding . spMarital . setOnItemClickListener { parent , view , position , id - >
binding . tlMarital . error = null
binding . spMarital . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlMarital )
}
val relationShipAdapter = ArrayAdapter (
@ -201,8 +200,8 @@ class StepTwoBajajFDFragment : Fragment() {
)
)
binding . spRelation . setAdapter ( relationShipAdapter )
binding . spRelation . setOnItemClickListener { parent , view , position , id - >
binding . tlRelation . error = null
binding . spRelation . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlRelation )
}
binding . edtRelationName . addTextChangedListener ( object : TextWatcher {
@ -214,7 +213,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlRelationName . error = null
removeError ( binding . tlRelationName )
}
} )
binding . edtAddressLine1 . addTextChangedListener ( object : TextWatcher {
@ -226,7 +225,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlAddressLine1 . error = null
removeError ( binding . tlAddressLine1 )
}
} )
binding . edtAddressLine2 . addTextChangedListener ( object : TextWatcher {
@ -238,7 +237,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlAddressLine2 . error = null
removeError ( binding . tlAddressLine2 )
}
} )
binding . edtState . addTextChangedListener ( object : TextWatcher {
@ -250,7 +249,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlState . error = null
removeError ( binding . tlState )
}
} )
binding . edtCity . addTextChangedListener ( object : TextWatcher {
@ -262,7 +261,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlCity . error = null
removeError ( binding . tlCity )
}
} )
binding . edtPinCode . addTextChangedListener ( object : TextWatcher {
@ -274,13 +273,13 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlPinCode . error = null
removeError ( binding . tlPinCode )
}
} )
// Nominee Details
binding . spNomineeTitle . setAdapter ( titleAdapter )
binding . spNomineeTitle . setOnItemClickListener { parent , view , position , id - >
binding . spNomineeTitle . setOnItemClickListener { _ , _ , _ , _ - >
binding . tlNomineeTitle . error = null
}
@ -293,7 +292,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlNomineeFirstName . error = null
removeError ( binding . tlNomineeFirstName )
}
} )
binding . edtNomineeMiddleName . addTextChangedListener ( object : TextWatcher {
@ -305,7 +304,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlNomineeMiddleName . error = null
removeError ( binding . tlNomineeMiddleName )
}
} )
binding . edtNomineeLastName . addTextChangedListener ( object : TextWatcher {
@ -317,20 +316,20 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlNomineeLastName . error = null
removeError ( binding . tlNomineeLastName )
}
} )
binding . edtNomineeDOB . setOnClickListener {
removeError ( binding . tlNomineeDOB )
}
binding . spNomineeRelation . setAdapter ( relationShipAdapter )
binding . spNomineeRelation . setOnItemClickListener { parent , view , position , id - >
binding . tlNomineeRelation . error = null
binding . spNomineeRelation . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlNomineeRelation )
}
binding . cbNomineeSameAddress . setOnCheckedChangeListener { compoundButton , b - >
binding . cbNomineeSameAddress . setOnCheckedChangeListener { _ , _ - >
}
@ -344,7 +343,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlGuardianName . error = null
removeError ( binding . tlGuardianName )
}
} )
binding . edtGuardianAge . addTextChangedListener ( object : TextWatcher {
@ -356,13 +355,13 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlGuardianAge . error = null
removeError ( binding . tlGuardianAge )
}
} )
binding . spGuardianRelation . setAdapter ( relationShipAdapter )
binding . spGuardianRelation . setOnItemClickListener { parent , view , position , id - >
binding . tlGuardianRelation . error = null
binding . spGuardianRelation . setOnItemClickListener { _ , _ , _ , _ - >
removeError ( binding . tlGuardianRelation )
}
binding . edtGuardianAddress . addTextChangedListener ( object : TextWatcher {
@ -374,7 +373,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlGuardianAddress . error = null
removeError ( binding . tlGuardianAddress )
}
} )
binding . edtGuardianPinCode . addTextChangedListener ( object : TextWatcher {
@ -386,7 +385,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . edtGuardianPinCode . error = null
removeError ( binding . tlGuardianPinCode )
}
} )
@ -400,7 +399,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlIFSC . error = null
removeError ( binding . tlIFSC )
}
} )
binding . edtAccountNumber . addTextChangedListener ( object : TextWatcher {
@ -412,7 +411,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlAccountNumber . error = null
removeError ( binding . tlAccountNumber )
}
} )
binding . edtBankName . addTextChangedListener ( object : TextWatcher {
@ -424,7 +423,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlBankName . error = null
removeError ( binding . tlBankName )
}
} )
binding . edtBankBranch . addTextChangedListener ( object : TextWatcher {
@ -436,31 +435,110 @@ class StepTwoBajajFDFragment : Fragment() {
}
override fun onTextChanged ( s : CharSequence ? , start : Int , before : Int , count : Int ) {
binding . tlBankBranchName . error = null
removeError ( binding . tlBankBranchName )
}
} )
binding . tvPersonalDetails . setOnClickListener {
if ( binding . llPersonalDetail . visibility = = View . VISIBLE ) {
binding . llPersonalDetail . visibility = View . GONE
} else {
binding . llPersonalDetail . visibility = View . VISIBLE
}
}
binding . tvNomineeDetails . setOnClickListener {
if ( binding . llNomineeDetail . visibility = = View . VISIBLE ) {
binding . llNomineeDetail . visibility = View . GONE
} else {
binding . llNomineeDetail . visibility = View . VISIBLE
}
}
binding . tvBankDetails . setOnClickListener {
if ( binding . llBankDetails . visibility = = View . VISIBLE ) {
binding . llBankDetails . visibility = View . GONE
} else {
binding . llBankDetails . visibility = View . VISIBLE
}
}
binding . btnNext . setOnClickListener {
if ( validation ( ) ) {
// Applicant Details
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantSalutation = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantGender = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantFirstName = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantMiddleName = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantLastName = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantDOB = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantPAN = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantMobile = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantOccupation = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantQualification = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantMaritalStatus = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantEmail = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantAddress1 = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantAddress2 = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantAddress3 = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantCity = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantState = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantCountry = ""
( activity as BajajFdMainActivity ) . applicantDetails . ApplicantPincode = 0
( activity as BajajFdMainActivity ) . applicantDetails . AnnualIncome = ""
// Applicant Relation Details
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantRelation = ""
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantRelationSalutation = ""
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantRelationFirstName = ""
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantRelationLastName = ""
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantMotherFirstName = ""
( activity as BajajFdMainActivity ) . applicantRelationDetails . ApplicantMotherLastName = ""
// Applicant Nominee Details
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeSalutation = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeGender = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeFirstName = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeMiddleName = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeLastName = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeDOB = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeRelation = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeAddress1 = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeAddress2 = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeAddress3 = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeCity = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeState = ""
( activity as BajajFdMainActivity ) . nomineeDetails . NomineeCountry = "india"
( activity as BajajFdMainActivity ) . nomineeDetails . NomineePincode = 0
// Applicant Nominee Guardian Details
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianSalutation = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianName = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianAge = 0
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianCountry = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianCity = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianState = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianPincode = 0
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianAddress1 = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianAddress2 = ""
( activity as BajajFdMainActivity ) . nomineeGuardianDetails . GuardianAddress3 = ""
// Applicant Bank Details
( activity as BajajFdMainActivity ) . fdBankDetails . AccountType = ""
( activity as BajajFdMainActivity ) . fdBankDetails . BankBranch = ""
( activity as BajajFdMainActivity ) . fdBankDetails . IFSCCode = ""
( activity as BajajFdMainActivity ) . fdBankDetails . AccountNumber = ""
( activity as BajajFdMainActivity ) . fdBankDetails . BankName = ""
( activity as BajajFdMainActivity ) . fdBankDetails . PaymentMode = ""
bajajFDInterface . stepTwoApi ( "stepTwoResponse" )
}
}
return root
}
// validations
private fun validation ( ) : Boolean {
return if ( binding . edtMobileNumber . text . toString ( ) . isEmpty ( ) ) { // EditText
commonErrorMethod ( binding . edtMobileNumber , binding . tlMobileNumber , "" )