diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index c5df2bd..ba0157d 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -4,6 +4,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
index 80f3770..2e5f4be 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/BankListAdapter.kt
@@ -8,109 +8,84 @@ import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
import com.nivesh.production.bajajfd.R
import com.nivesh.production.bajajfd.model.BankList
+import com.nivesh.production.bajajfd.model.ClientBanklist
-class BankListAdapter( private val bankList: List,
- private var checkedPosition: Int = -2,
- private val selectedAccount: String? = null
-)
- :RecyclerView.Adapter()
-{
- inner class BankListViewHolder (itemView:View):RecyclerView.ViewHolder(itemView)
- {
+class BankListAdapter(
+ private val bankList: List?,
+ private val selectedAccount: String? = null
+) : RecyclerView.Adapter() {
+ inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
- val bankName: TextView = itemView.findViewById(R.id.bankName)
- val bankAcNoTV: TextView = itemView.findViewById(R.id.bankAcNoTV)
- val bankIfscTV: TextView = itemView.findViewById(R.id.bankIfscTV)
- val bankTypeTV: TextView = itemView.findViewById(R.id.bankTypeTV)
+ val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
+ val tvBankAccountNumber: TextView = itemView.findViewById(R.id.tvBankAccountNumber)
+ val tvBankIFSC: TextView = itemView.findViewById(R.id.tvBankIFSC)
}
+ private var checkedPosition: Int = -2
+
override fun onCreateViewHolder(
parent: ViewGroup,
viewType: Int
): BankListViewHolder {
- return BankListViewHolder(LayoutInflater.from(parent.context).inflate(
- R.layout.item_banklist_preview,
+ return BankListViewHolder(
+ LayoutInflater.from(parent.context).inflate(
+ R.layout.item_bank_list_preview,
parent,
- false
-
-
-
- ))
+ false
+ )
+ )
}
override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
- val bankList =bankList[position]
-
- holder.itemView.apply {
-
-
-
- holder.bankName.text = bankList.BankName
- holder.bankIfscTV.text = bankList.IFSCCode
- holder.bankAcNoTV.text = bankList.AccountNumber
- holder.bankTypeTV.text = bankList.AccountType
-
-
-
- if (selectedAccount == bankList.AccountNumber && 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)
- } else if (checkedPosition == holder.adapterPosition)
- {
- holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
- } else {
- holder.bankSelector.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)
+ val bankList = bankList?.get(position)
+ if (bankList !=null) {
+ holder.itemView.apply {
+ holder.tvBankName.text = bankList.BankName
+ holder.tvBankIFSC.text = bankList.IFSCCode
+ holder.tvBankAccountNumber.text = bankList.AccountNumber
+
+ if (selectedAccount == bankList.AccountNumber && 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)
+ } else if (checkedPosition == holder.adapterPosition) {
+ holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
+ } else {
+ holder.bankSelector.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
+ }
+ }
}
}
-
}
-
-
-
-
}
override fun getItemCount(): Int {
- return bankList.size
+ return bankList?.size!!
}
+ private var onItemClickListener: ((ClientBanklist) -> Unit)? = null
- private var onItemClickListener:((BankList) ->Unit)?=null
-
- fun setOnItemClickListener(listener:(BankList) -> Unit)
- {
- onItemClickListener= listener
+ fun setOnItemClickListener(listener: (ClientBanklist) -> Unit) {
+ onItemClickListener = listener
}
-
- fun getSelected(): BankList? {
+ fun getSelected(): ClientBanklist? {
return if (checkedPosition != -1) {
- bankList[checkedPosition]
+ bankList?.get(checkedPosition)
} else null
}
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt
new file mode 100644
index 0000000..ff19bee
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/CustomerListAdapter.kt
@@ -0,0 +1,74 @@
+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 androidx.recyclerview.widget.RecyclerView
+import com.nivesh.production.bajajfd.R
+import com.nivesh.production.bajajfd.model.GetCodes
+
+class CustomerListAdapter(
+ private val bankList: List?
+) : RecyclerView.Adapter() {
+ inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
+ val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
+ }
+
+ private var checkedPosition: Int = -2
+
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): BankListViewHolder {
+ return BankListViewHolder(
+ LayoutInflater.from(parent.context).inflate(
+ R.layout.item_customer_list_preview,
+ parent,
+ false
+ )
+ )
+ }
+
+ override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
+ val bankList = bankList?.get(position)
+ if (bankList != null) {
+ holder.itemView.apply {
+ holder.tvBankName.text = bankList.Value
+ setOnClickListener {
+ onItemClickListener?.let {
+ it(bankList)
+
+ holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
+ if (checkedPosition != holder.adapterPosition) {
+ notifyItemChanged(checkedPosition)
+ checkedPosition = holder.adapterPosition
+
+ }
+ }
+ }
+ }
+ }
+ }
+
+ override fun getItemCount(): Int {
+ return bankList?.size!!
+ }
+
+ private var onItemClickListener: ((GetCodes) -> Unit)? = null
+
+ fun setOnItemClickListener(listener: (GetCodes) -> Unit) {
+ onItemClickListener = listener
+ }
+
+
+ fun getSelected(): GetCodes? {
+ return if (checkedPosition != -1) {
+ bankList?.get(checkedPosition)
+ } else null
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
new file mode 100644
index 0000000..0bada10
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/PaymentModeAdapter.kt
@@ -0,0 +1,88 @@
+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 androidx.recyclerview.widget.RecyclerView
+import com.nivesh.production.bajajfd.R
+import com.nivesh.production.bajajfd.model.GetCodes
+
+class PaymentModeAdapter(
+ private val bankList: List?,
+ private val selectedAccount: String? = null
+) : RecyclerView.Adapter() {
+ inner class BankListViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
+ val bankSelector: ImageView = itemView.findViewById(R.id.bankSelector)
+ val tvBankName: TextView = itemView.findViewById(R.id.tvBankName)
+ }
+
+ private var checkedPosition: Int = -2
+
+
+ override fun onCreateViewHolder(
+ parent: ViewGroup,
+ viewType: Int
+ ): BankListViewHolder {
+ return BankListViewHolder(
+ LayoutInflater.from(parent.context).inflate(
+ R.layout.item_payment_list_preview,
+ parent,
+ false
+ )
+ )
+ }
+
+ override fun onBindViewHolder(holder: BankListViewHolder, position: Int) {
+ val bankList = bankList?.get(position)
+ if (bankList != null) {
+ holder.itemView.apply {
+ holder.tvBankName.text = bankList.Value
+
+ 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)
+ } else if (checkedPosition == holder.adapterPosition) {
+ holder.bankSelector.setBackgroundResource(R.drawable.ic_select_green)
+ } else {
+ holder.bankSelector.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
+
+ }
+ }
+ }
+ }
+ }
+ }
+
+ override fun getItemCount(): Int {
+ return bankList?.size!!
+ }
+
+ private var onItemClickListener: ((GetCodes) -> Unit)? = null
+
+ fun setOnItemClickListener(listener: (GetCodes) -> Unit) {
+ onItemClickListener = listener
+ }
+
+
+ fun getSelected(): GetCodes? {
+ return if (checkedPosition != -1) {
+ bankList?.get(checkedPosition)
+ } else null
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt b/app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt
new file mode 100644
index 0000000..4b12412
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/adapter/RecommendedBankListAdapter.kt
@@ -0,0 +1,39 @@
+package com.nivesh.production.bajajfd.adapter
+
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.nivesh.production.bajajfd.R
+import com.nivesh.production.bajajfd.model.Bank
+
+class RecommendedBankListAdapter(
+ private val bankList: List
+) : RecyclerView.Adapter() {
+
+ class MyViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+ val txtYear: TextView
+
+ init {
+ txtYear = view.findViewById(R.id.txtYear)
+ }
+ }
+
+ override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): MyViewHolder {
+ val itemView: View = LayoutInflater.from(parent.context)
+ .inflate(R.layout.row_bank_list, parent, false)
+ return MyViewHolder(itemView)
+ }
+
+ override fun onBindViewHolder(holder: MyViewHolder, position: Int) {
+ val bank: Bank = bankList[position]
+ holder.txtYear.text = bank.BankName
+
+ }
+
+ override fun getItemCount(): Int {
+ return bankList.size
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt
index d89586a..aaa5a11 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/api/ApiClient.kt
@@ -26,7 +26,7 @@ class ApiClient {
.client(client)
.build()
}
- val getApiClient by lazy {
+ val getApiClient: ApiInterface by lazy {
client.create(ApiInterface::class.java)
}
}
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
index 4fb702d..f8a0f7c 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
@@ -8,76 +8,156 @@ import retrofit2.http.*
interface ApiInterface {
- @POST("GetRates")
- suspend fun getRates(@Body getRatesRequest: GetRatesRequest, @Header("token") token: String): Response
-
- @POST("CheckFDCKYC")
- suspend fun checkFDKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("CreateFDApplication")
- suspend fun createFDApp(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("DocumentsUpload")
- suspend fun documentsUpload(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("SaveFDOtherData")
- suspend fun saveFDOtherData(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("GetFDDetails")
- suspend fun getFDDetails(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("UpdateFDPaymentStatus")
- suspend fun updateFDPaymentStatus(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("FinaliseFD")
- suspend fun finaliseFD(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("FinaliseKYC")
- suspend fun finaliseKYC(@Body requestBody: RequestBody, @Header("token") token: String): Response
-
- @POST("PaymentRequery")
- suspend fun paymentReQuery(@Body requestBody: RequestBody, @Header("token") token: String): Response
+ @POST("WebApi_Bajaj/api/GetRates")
+ suspend fun getRates(
+ @Body getRatesRequest: GetRatesRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/CheckFDCKYC")
+ suspend fun checkFDKYC(
+ @Body checkFDKYCRequest: CheckFDKYCRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/CreateFDApplication")
+ suspend fun createFDApp(
+ @Body createFDRequest: CreateFDRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/DocumentsUpload")
+ suspend fun documentsUpload(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/SaveFDOtherData")
+ suspend fun saveFDOtherData(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetFDDetails")
+ suspend fun getFDDetails(
+ @Body requestBody: GetFDDetailsRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/UpdateFDPaymentStatus")
+ suspend fun updateFDPaymentStatus(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/FinaliseFD")
+ suspend fun finaliseFD(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/FinaliseKYC")
+ suspend fun finaliseKYC(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/PaymentRequery")
+ suspend fun paymentReQuery(
+ @Body requestBody: RequestBody,
+ @Header("token") token: String
+ ): Response
// @FormUrlEncoded
- @POST("GetCodes")
- suspend fun getCodes(@Body requestBody: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("CalculateFDMaturityAmount")
- suspend fun getCalculateFDMaturityAmount(@Body requestBody: GetMaturityAmountRequest, @Header("token") token: String): Response
-
- @POST("api/PanCheck_S")
- suspend fun panCheckApi(@Body panCheck: PanCheckRequest, @Header("token") token: String): Response
-
- @POST("getFDStepsCount")
- suspend fun getFDStepsCount(@Body fdStepsCountRequest: FDStepsCountRequest, @Header("token") token: String): Response
-
- @POST("api/GetClientDetailV2_S")
- suspend fun getClientDetails(@Body getClientDetailsRequest: getClientDetailsRequest, @Header("token") token: String): Response
-
-
- @POST("GetCodes")
- suspend fun titleApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("GetCodes")
- suspend fun genderApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("GetCodes")
- suspend fun annualIncomeApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("GetCodes")
- suspend fun relationShipApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("GetCodes")
- suspend fun maritalStatusApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("GetCodes")
- suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response
-
- @POST("api/GetStateMaster")
- suspend fun stateApi( @Header("token") token: String): Response
-
- @POST("api/GetCity")
- suspend fun cityApi(@Body cityRequest: CityRequest, @Header("token") token: String): Response
-
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun getCodes(
+ @Body requestBody: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/CalculateFDMaturityAmount")
+ suspend fun getCalculateFDMaturityAmount(
+ @Body requestBody: GetMaturityAmountRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/PanCheck_S")
+ suspend fun panCheckApi(
+ @Body panCheck: PanCheckRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/getFDStepsCount")
+ suspend fun getFDStepsCount(
+ @Body fdStepsCountRequest: FDStepsCountRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi/api/GetClientDetailV2_S")
+ suspend fun getClientDetails(
+ @Body getClientDetailsRequest: getClientDetailsRequest,
+ @Header("token") token: String
+ ): Response
+
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun titleApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun genderApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun annualIncomeApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun relationShipApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun maritalStatusApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun occupationApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
+
+ @POST("WebApi_Bajaj/api/GetStateMaster")
+ suspend fun stateApi(@Header("token") token: String): Response
+
+ @POST("WebApi_Bajaj/api/GetCity")
+ suspend fun cityApi(
+ @Body cityRequest: CityRequest,
+ @Header("token") token: String
+ ): Response
+
+ @GET("WebAPI_Bajaj/api/GetFDBankList?FDProvider=Bajaj")
+ suspend fun bankListApi(@Header("token") token: String): Response
+
+ @GET("WebApi/api/GetIFSC_Autofill?prefix={prefix}")
+ suspend fun getIFSCApi(@Path("prefix") ifsc : String): Response
+
+ @GET("WebApi/api/GetBankDetailsFromIFSC?")
+ suspend fun getIFSCDetailsApi(@Query("ifsc") ifsc : String,@Header("token") token: String): Response
+
+ @POST("WebApi_Bajaj/api/GetCodes")
+ suspend fun payModeApi(
+ @Body getCodeRequest: GetCodeRequest,
+ @Header("token") token: String
+ ): Response
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
index 276b718..94538dc 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/interfaces/BajajFDInterface.kt
@@ -4,7 +4,7 @@ import com.nivesh.production.bajajfd.model.CreateFDRequest
interface BajajFDInterface {
fun stepOneApi(data: String?)
- fun stepTwoApi(data: String?)
- fun stepThreeApi(data: String?)
+ fun stepTwoApi(data: CreateFDRequest)
+ fun stepThreeApi(data: CreateFDRequest)
fun stepFourApi(data: String?)
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt
new file mode 100644
index 0000000..b0a0931
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Bank.kt
@@ -0,0 +1,6 @@
+package com.nivesh.production.bajajfd.model
+
+data class Bank(
+ val BankName: String,
+ val IFSC4Mapping: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt
new file mode 100644
index 0000000..ad4924a
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CheckFDKYCRequest.kt
@@ -0,0 +1,8 @@
+package com.nivesh.production.bajajfd.model
+
+data class CheckFDKYCRequest(
+ var DOB: String? ="",
+ var Mobile: String? = "",
+ var NiveshClientCode: String? = "",
+ var PAN: String?= ""
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt
new file mode 100644
index 0000000..52e87e8
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientBanklist.kt
@@ -0,0 +1,11 @@
+package com.nivesh.production.bajajfd.model
+
+data class ClientBanklist(
+ val AccountNumber: String?,
+ val AccountType: String?,
+ val BankName: String?,
+ val BranchName: String?,
+ val DefaultBankFlag: String?,
+ val IFSCCode: String?,
+ val IsValBank: Int? = 0
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationResponse.kt
new file mode 100644
index 0000000..3465640
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CreateFDApplicationResponse.kt
@@ -0,0 +1,5 @@
+package com.nivesh.production.bajajfd.model
+
+data class CreateFDApplicationResponse(
+ val Response: ResponseXXXXXXXXXXX
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
index 499aa70..bdf0cbb 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
@@ -3,15 +3,15 @@ package com.nivesh.production.bajajfd.model
import java.io.Serializable
data class DataObject(
- val BSE_State_Code: String,
- val CAMS_statecode: String,
- val Country_Id: Int,
- val State_Code: String,
- val State_Id: Int,
- val State_Name: String,
- val signzyCode: String
+ var BSE_State_Code: String? = "",
+ var CAMS_statecode: String? = "",
+ var Country_Id: Int? = 0,
+ var State_Code: String?= "",
+ var State_Id: Int? = 0,
+ var State_Name: String? = "",
+ var signzyCode: String? = ""
): Serializable {
override fun toString(): String {
- return State_Name
+ return State_Name.toString()
}
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt
index 82953a8..d7b0b88 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt
@@ -7,5 +7,6 @@ data class DeviceInfo(
var device_name: String? ="",
var device_os_version: String? = "",
var device_token: String? = "",
- var device_type: String? = ""
+ var device_type: String? = "",
+ var device_id_for_UMSId : String? = ""
)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt
new file mode 100644
index 0000000..fd4ee1d
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DocumentUpload.kt
@@ -0,0 +1,10 @@
+package com.nivesh.production.bajajfd.model
+
+data class DocumentUpload(
+ val Description: String? = null,
+ val DocumentType: String? = null,
+ val FDProvider: String? = null,
+ val ImageEncodeToBase64: String? = null,
+ val NiveshClientCode: String? = null,
+ val UniqueId: String? = null
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt
new file mode 100644
index 0000000..a2c80e2
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Errors.kt
@@ -0,0 +1,6 @@
+package com.nivesh.production.bajajfd.model
+
+data class Errors(
+ val ErrorCode: Int,
+ val ErrorMessage: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FDCreationDetailsResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FDCreationDetailsResponse.kt
new file mode 100644
index 0000000..2d4524c
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FDCreationDetailsResponse.kt
@@ -0,0 +1,7 @@
+package com.nivesh.production.bajajfd.model
+
+data class FDCreationDetailsResponse(
+ val DocumentUploadFlag: Int,
+ val UniqueId: String,
+ val kycFlag: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/FDDataResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/FDDataResponse.kt
new file mode 100644
index 0000000..325e7e6
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/FDDataResponse.kt
@@ -0,0 +1,12 @@
+package com.nivesh.production.bajajfd.model
+
+data class FDDataResponse(
+ val FDAmount: Double,
+ val Frequency: String,
+ val ParameterName: String,
+ val PaymentUrl: String,
+ val RateOfInterest: Double,
+ val Tenure: Int,
+ val UniqueId: String,
+ val Value: String
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
index a93541e..e8c7329 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetCodes.kt
@@ -5,7 +5,7 @@ data class GetCodes(
val Value: String
) {
override fun toString(): String {
- return Value
+ return Label
}
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt
new file mode 100644
index 0000000..cebf1e3
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDBankListResponse.kt
@@ -0,0 +1,5 @@
+package com.nivesh.production.bajajfd.model
+
+data class GetFDBankListResponse(
+ val Response: ResponseXXXXXXXX
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsRequest.kt
new file mode 100644
index 0000000..7cde245
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsRequest.kt
@@ -0,0 +1,7 @@
+package com.nivesh.production.bajajfd.model
+
+data class GetFDDetailsRequest(
+ var FDProvider: String? = "",
+ var NiveshClientCode: String? = "",
+ var UniqueId: String? = ""
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsResponse.kt
new file mode 100644
index 0000000..15f4af7
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetFDDetailsResponse.kt
@@ -0,0 +1,5 @@
+package com.nivesh.production.bajajfd.model
+
+data class GetFDDetailsResponse(
+ val Response: ResponseXXXXXXXXXXXX
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeListResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeListResponse.kt
new file mode 100644
index 0000000..7e31899
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeListResponse.kt
@@ -0,0 +1,6 @@
+package com.nivesh.production.bajajfd.model
+
+data class GetIFSCCodeListResponse(
+ val IFSCCodes: MutableList,
+ val Response: ResponseXXXXXXXXXX
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeResponse.kt
new file mode 100644
index 0000000..e648098
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/GetIFSCCodeResponse.kt
@@ -0,0 +1,10 @@
+package com.nivesh.production.bajajfd.model
+
+data class GetIFSCCodeResponse(
+ val ADDRESS: String,
+ val BANK: String,
+ val BRANCH: String,
+ val IFSC: String,
+ val MICR: String,
+ val Response: ResponseXXXXXXXXX
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt
index fa142c3..ae043f7 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt
@@ -4,5 +4,6 @@ data class ObjectResponse(
val TransactionCount: Int,
val clientDetails: ClientDetails,
val languageid: Int,
- val membersList: List
+ val membersList: List,
+ val ClientBanklist : List
)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt
index 64ebb11..c479c7f 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Response.kt
@@ -1,5 +1,7 @@
+import com.nivesh.production.bajajfd.model.Errors
+
data class Response(
- val Errors: List,
+ val Errors: List,
val Message: String,
var ROIDatalist: MutableList,
val Status: String,
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt
index e81f28d..0d08d82 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseX.kt
@@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseX(
- val Errors: List,
+ val Errors: List,
val GetCodesList: List,
val Message: String,
val Status: String,
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt
index 69077da..1ec3e62 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXX.kt
@@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXX(
- val Errors: Any,
+ val Errors: List,
val MaturityAmount: Double,
val Message: String,
val Status: String,
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt
index 89521d8..0c37922 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXX.kt
@@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXX(
- val Errors: Any,
+ val Errors: List,
val Message: String,
val Status: String,
val StatusCode: Int,
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt
new file mode 100644
index 0000000..a48dfa5
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXX.kt
@@ -0,0 +1,9 @@
+package com.nivesh.production.bajajfd.model
+
+data class ResponseXXXXXXXX(
+ val BankList: List,
+ val Errors: List,
+ val Message: String,
+ val Status: String,
+ val StatusCode: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt
new file mode 100644
index 0000000..128fad0
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXX.kt
@@ -0,0 +1,7 @@
+package com.nivesh.production.bajajfd.model
+
+data class ResponseXXXXXXXXX(
+ val message: String,
+ val status: String,
+ val status_code: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXX.kt
new file mode 100644
index 0000000..092b2f9
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXX.kt
@@ -0,0 +1,7 @@
+package com.nivesh.production.bajajfd.model
+
+data class ResponseXXXXXXXXXX(
+ val message: String,
+ val status: String,
+ val status_code: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt
new file mode 100644
index 0000000..cf7ddc5
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXX.kt
@@ -0,0 +1,9 @@
+package com.nivesh.production.bajajfd.model
+
+data class ResponseXXXXXXXXXXX(
+ val Errors: List,
+ val FDCreationDetailsResponse: FDCreationDetailsResponse,
+ val Message: String,
+ val Status: String,
+ val StatusCode: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXX.kt
new file mode 100644
index 0000000..4bacf38
--- /dev/null
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXXXXXXX.kt
@@ -0,0 +1,9 @@
+package com.nivesh.production.bajajfd.model
+
+data class ResponseXXXXXXXXXXXX(
+ val Errors: Any,
+ val FDDataResponse: FDDataResponse,
+ val Message: String,
+ val Status: String,
+ val StatusCode: Int
+)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt
index af2dc2e..b6a37e6 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt
@@ -5,6 +5,6 @@ data class UserRequest(
var IPAddress: String? = "",
var LoggedInRoleId: Int = 0,
var Source: String? = "",
- var UID: String? = "",
+ var UID: Int? = 0,
var deviceInfo: DeviceInfo? = null
)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt
index d377c17..a60896a 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt
@@ -1,8 +1,8 @@
package com.nivesh.production.bajajfd.model
data class getClientDetailsResponse(
-// val DataObject: Any ? = "",
-// val Message: Any = "",
- var ObjectResponse: ObjectResponse? = null,
- var response: ResponseXXXXXXX? = null
+// val DataObject: Any ?,
+// val Message: Any,
+ val ObjectResponse: ObjectResponse? = null,
+ val response: ResponseXXXXXXX? = null
)
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
index 8d937e4..35b059f 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
@@ -7,20 +7,24 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun getRatesResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
- suspend fun getCodesResponse(requestBody: GetCodeRequest , token: String) =
+ suspend fun getCodesResponse(requestBody: GetCodeRequest, token: String) =
apiInterface.getCodes(requestBody, token)
- suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest , token: String) =
+
+ suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest, token: String) =
apiInterface.getFDStepsCount(requestBody, token)
- suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest , token: String) =
+ suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest, token: String) =
apiInterface.getClientDetails(getClientDetails, token)
- suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest, token: String) =
+ suspend fun createCalculateFDMaturityAmount(
+ requestBody: GetMaturityAmountRequest,
+ token: String
+ ) =
apiInterface.getCalculateFDMaturityAmount(requestBody, token)
- suspend fun checkFDKYCResponse(getRatesRequest: GetRatesRequest, token: String) =
- apiInterface.getRates(getRatesRequest, token)
+ suspend fun createFDKYCResponse(createFDRequest: CreateFDRequest, token: String) =
+ apiInterface.createFDApp(createFDRequest, token)
suspend fun documentsUploadResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
@@ -28,8 +32,8 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun saveFDOtherDataResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
- suspend fun getFDDetailsResponse(getRatesRequest: GetRatesRequest, token: String) =
- apiInterface.getRates(getRatesRequest, token)
+ suspend fun getFDDetailsResponse(getRatesRequest: GetFDDetailsRequest, token: String) =
+ apiInterface.getFDDetails(getRatesRequest, token)
suspend fun updateFDPaymentStatusResponse(getRatesRequest: GetRatesRequest, token: String) =
apiInterface.getRates(getRatesRequest, token)
@@ -64,8 +68,25 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.occupationApi(getCodeRequest, token)
- suspend fun stateCheck( token: String) =
- apiInterface.stateApi( token)
+ suspend fun stateCheck(token: String) =
+ apiInterface.stateApi(token)
+
suspend fun cityCheck(cityRequest: CityRequest, token: String) =
apiInterface.cityApi(cityRequest, token)
+
+ suspend fun bankListCheck(token: String) =
+ apiInterface.bankListApi(token)
+
+ suspend fun ifscCodeCheck(str: String) =
+ apiInterface.getIFSCApi(str)
+
+ suspend fun ifscCodeDetailsCheck(str: String, token: String) =
+ apiInterface.getIFSCDetailsApi(str, token)
+
+ suspend fun payModeCheck(getCodeRequest: GetCodeRequest, token: String) =
+ apiInterface.payModeApi(getCodeRequest, token)
+
+ suspend fun checkFDKYCRequest(checkFDKYCRequest: CheckFDKYCRequest, token: String) =
+ apiInterface.checkFDKYC(checkFDKYCRequest, token)
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/activity/BajajFdMainActivity.kt
index 02b8634..88b6ba0 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
@@ -18,7 +18,9 @@ import com.nivesh.production.bajajfd.ui.fragment.*
import com.nivesh.production.bajajfd.ui.providerfactory.*
import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.defaultShape
+import com.nivesh.production.bajajfd.util.Common.Companion.getDate
import com.nivesh.production.bajajfd.util.Common.Companion.selectedShape
+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.*
@@ -41,12 +43,15 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
var fdBankDetails: FdBankDetails
var nomineeDetails: NomineeDetails
var nomineeGuardianDetails: NomineeGuardianDetails
- var getClientDetailsResponse : getClientDetailsResponse
+ var getClientDetailsResponse: getClientDetailsResponse
+
+ private var stepCount: Int = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
init()
}
+
init {
getClientDetailsResponse = getClientDetailsResponse()
createFDRequest = CreateFDRequest()
@@ -65,24 +70,31 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
binding = ActivityBajajFdBinding.inflate(layoutInflater)
setContentView(binding.root)
-
-// createFDRequest = CreateFDRequest()
-// createFDApplicantRequest = CreateFDApplicationRequest()
-//
-// fdInvestmentDetails = FDInvestmentDetails()
-// applicantDetails = ApplicantDetails()
-// applicantRelationDetails = ApplicantRelationDetails()
-// fdBankDetails = FdBankDetails()
-// nomineeDetails = NomineeDetails()
-// nomineeGuardianDetails = NomineeGuardianDetails()
-
//start Repository
- viewModel = ViewModelProvider(this, FDModelProviderFactory(MainRepository(ApiClient.getApiClient)))[BajajFDViewModel::class.java]
- stepOneBajajFDViewModel = ViewModelProvider(this, StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepOneBajajFDViewModel::class.java]
- stepTwoBajajFDViewModel = ViewModelProvider(this, StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepTwoBajajFDViewModel::class.java]
- stepThreeBajajFDViewModel = ViewModelProvider(this, StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepThreeBajajFDViewModel::class.java]
- stepFourBajajFDViewModel = ViewModelProvider(this, StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFourBajajFDViewModel::class.java]
- stepFiveBajajFDViewModel = ViewModelProvider(this, StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient)))[StepFiveBajajFDViewModel::class.java]
+ viewModel = ViewModelProvider(
+ this,
+ FDModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[BajajFDViewModel::class.java]
+ stepOneBajajFDViewModel = ViewModelProvider(
+ this,
+ StepOneModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[StepOneBajajFDViewModel::class.java]
+ stepTwoBajajFDViewModel = ViewModelProvider(
+ this,
+ StepTwoModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[StepTwoBajajFDViewModel::class.java]
+ stepThreeBajajFDViewModel = ViewModelProvider(
+ this,
+ StepThreeModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[StepThreeBajajFDViewModel::class.java]
+ stepFourBajajFDViewModel = ViewModelProvider(
+ this,
+ StepFourModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[StepFourBajajFDViewModel::class.java]
+ stepFiveBajajFDViewModel = ViewModelProvider(
+ this,
+ StepFiveModelProviderFactory(MainRepository(ApiClient.getApiClient))
+ )[StepFiveBajajFDViewModel::class.java]
if (Common.isNetworkAvailable(this)) {
getStepsCountApi()
@@ -93,7 +105,7 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
}
- private fun getStepsCountApi(){
+ private fun getStepsCountApi() {
val fdStepsCount = FDStepsCountRequest()
fdStepsCount.FDProvider = getString(R.string.bajaj)
fdStepsCount.NiveshClientCode = "8872"
@@ -107,18 +119,22 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
stepsCountResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
+ stepCount = stepsCountResponse.Response.StepsCount
getClientDetailsApi(stepsCountResponse.Response.StepsCount)
- // setViewPager(stepsCountResponse.Response.StepsCount)
}
- // 650 -> refreshToken()
- else -> {}
+ 650 -> refreshToken(fdStepsCount)
+ else -> {
+ showDialogValidation(
+ this@BajajFdMainActivity,
+ stepsCountResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
-
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ showDialogValidation(this@BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -128,51 +144,66 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
}
+ private fun refreshToken(fdStepsCount: FDStepsCountRequest) {
+ if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
+
+ }
+ }
+
+
private fun getClientDetailsApi(stepsCount: Int) {
- if (Common.isNetworkAvailable(this@BajajFdMainActivity)){
- val getClientDetailsRequest = getClientDetailsRequest()
+ if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
+ val getClientDetailsRequest = getClientDetailsRequest()
getClientDetailsRequest.client_code = "8872"
- getClientDetailsRequest.AppOrWeb = "App"
- getClientDetailsRequest.sub_broker_code = "1014"
+ getClientDetailsRequest.AppOrWeb = getString(R.string.app)
+ getClientDetailsRequest.sub_broker_code = "1038"
val userRequest = UserRequest()
- userRequest.UID = "19060"
+ userRequest.UID = 19060
userRequest.IPAddress = ""
- userRequest.Source = "Nivesh"
- userRequest.AppOrWeb = "App"
+ userRequest.Source = getString(R.string.source)
+ userRequest.AppOrWeb = getString(R.string.app)
userRequest.LoggedInRoleId = 5
val deviceInfo = DeviceInfo()
deviceInfo.device_id = ""
+ deviceInfo.device_id_for_UMSId = ""
+ deviceInfo.device_type = getString(R.string.app)
deviceInfo.device_model = ""
deviceInfo.device_token = ""
deviceInfo.device_name = ""
- deviceInfo.app_version = "2.44.13"
- deviceInfo.device_os_version = "Android 11"
+ deviceInfo.app_version = ""
+ deviceInfo.device_os_version = ""
userRequest.deviceInfo = deviceInfo
getClientDetailsRequest.UserRequest = userRequest
- Log.e("getClientDetailRequest","-->"+Gson().toJson(getClientDetailsRequest))
+ Log.e("getClientDetailRequest", "-->" + Gson().toJson(getClientDetailsRequest))
viewModel.getClientDetails(getClientDetailsRequest, token)
viewModel.getClientDetailsMutableData.observe(this) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
- getClientDetailsResponse =
- Gson().fromJson(response.data?.toString(), getClientDetailsResponse::class.java)
+ getClientDetailsResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ getClientDetailsResponse::class.java
+ )
getClientDetailsResponse.response?.status_code.let { code ->
when (code) {
200 -> {
setViewPager(stepsCount)
+ checkFDCKYCApi()
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ showDialogValidation(this@BajajFdMainActivity, response.message)
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ showDialogValidation(this@BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -263,6 +294,61 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
+ private fun checkFDCKYCApi() {
+ if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
+ if (getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN?.isNotEmpty()!! && getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE?.isNotEmpty()!!) {
+ val checkFDKYCRequest = CheckFDKYCRequest()
+ checkFDKYCRequest.Mobile =
+ getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CM_MOBILE
+ checkFDKYCRequest.DOB =
+ getDate(getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB!!)
+ checkFDKYCRequest.PAN =
+ getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PAN
+ checkFDKYCRequest.NiveshClientCode =
+ getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE.toString()
+ stepOneBajajFDViewModel.checkFDKYC( checkFDKYCRequest, token)
+ stepOneBajajFDViewModel.getFDKYCMutableData.observe(this) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getCodeResponse: GetCodeResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ GetCodeResponse::class.java
+ )
+ getCodeResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+
+ fdInvestmentDetails.CustomerType = ""
+ }
+ // 650 -> refreshToken()
+ else -> {
+ showDialogValidation(
+ this@BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ showDialogValidation(this@BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+ }
+ }
+
+ }
+
+
// set background for selected/ default step
private fun setBackground(
drawable: Drawable?,
@@ -283,15 +369,23 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
}
// step 2 response
- override fun stepTwoApi(data: String?) {
+ override fun stepTwoApi(data: CreateFDRequest) {
Log.e("stepTwoApi", " response ---> $data")
- binding.viewPager.currentItem = 2
+ if (stepCount == 4) {
+ // go to step 3 image Upload
+ binding.viewPager.currentItem = 2
+ } else {
+ // call create fd api bypass step 3
+ createFDApi(data, 2)
+ }
}
+
// step 3 response
- override fun stepThreeApi(data: String?) {
+ override fun stepThreeApi(data: CreateFDRequest) {
Log.e("stepThreeApi", " response ---> $data")
- binding.viewPager.currentItem = 3
+ // call create fd api
+ createFDApi(data, 3)
}
// step 4 response
@@ -300,4 +394,51 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface {
binding.viewPager.currentItem = 4
}
+ private fun createFDApi(data: CreateFDRequest, currentItem: Int) {
+ if (Common.isNetworkAvailable(this@BajajFdMainActivity)) {
+
+ viewModel.createFDApi(data, token)
+ viewModel.getFDResponseMutableData.observe(this) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val createFDApplicationResponse: CreateFDApplicationResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ CreateFDApplicationResponse::class.java
+ )
+ createFDApplicationResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ binding.viewPager.currentItem = currentItem
+ StepFourBajajFDFragment.getInstance(this)
+ .getFDData(createFDApplicationResponse)
+ }
+ // 650 -> refreshToken()
+ else -> {
+ showDialogValidation(
+ this@BajajFdMainActivity,
+ createFDApplicationResponse.Response.Errors[0].ErrorMessage
+ )
+ }
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ showDialogValidation(this@BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+
+
+ }
+
+ }
+
}
\ No newline at end of file
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 903ca10..b6358b6 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
@@ -1,15 +1,23 @@
package com.nivesh.production.bajajfd.ui.fragment
import android.os.Bundle
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.fragment.app.Fragment
+import 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.databinding.FragmentBajajfdStepFourBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
+import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
+import com.nivesh.production.bajajfd.util.Common
import com.nivesh.production.bajajfd.util.Common.Companion.showDialogValidation
+import com.nivesh.production.bajajfd.util.Constants
+import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepFourBajajFDViewModel
class StepFourBajajFDFragment : Fragment() {
@@ -17,6 +25,7 @@ class StepFourBajajFDFragment : Fragment() {
private lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel
private var _binding: FragmentBajajfdStepFourBinding? = null
private val binding get() = _binding!!
+ var uniqueId: String? = ""
private lateinit var bajajFDInterface: BajajFDInterface
@@ -48,41 +57,130 @@ class StepFourBajajFDFragment : Fragment() {
binding.tvInterestPayout.text = ""
binding.tvRateOfInterest.text = ""
-
- binding.swDirectorBajajFinance.setOnCheckedChangeListener { _, _ ->
-
- }
- binding.swPromoterBajajFinance.setOnCheckedChangeListener { _, _ ->
+ binding.checkBox.setOnCheckedChangeListener { _, _ ->
}
- binding.swRelativeDirector.setOnCheckedChangeListener { _, _ ->
+ binding.btnNext.setOnClickListener {
+ if (binding.checkBox.isChecked) {
+ bajajFDInterface.stepFourApi("stepFourResponse")
+ } else {
+ showDialogValidation(
+ activity as BajajFdMainActivity,
+ resources.getString(R.string.validTermsConditions)
+ )
+ }
}
- binding.swShareholder.setOnCheckedChangeListener { _, _ ->
+ return root
+ }
- }
- binding.swPoliticallyExposed.setOnCheckedChangeListener { _, _ ->
+ fun getFDData(createFDApplicationResponse: CreateFDApplicationResponse) {
+ uniqueId = createFDApplicationResponse.Response.FDCreationDetailsResponse.UniqueId
+ //
+ getFDDetailsApi(uniqueId!!)
+ customerListApi()
+ }
- }
- binding.swCitizen.setOnCheckedChangeListener { _, _ ->
+ private fun customerListApi() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val getCodeRequest = GetCodeRequest()
+ getCodeRequest.ProductName = getString(R.string.bajajFD)
+ getCodeRequest.Category = getString(R.string.customerCategory)
+ getCodeRequest.Language = getString(R.string.language)
+ getCodeRequest.InputValue = ""
+ stepFourBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
+ stepFourBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getCodeResponse: GetCodeResponse =
+ Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
+ getCodeResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ if (getCodeResponse.Response.GetCodesList.isNotEmpty()) {
+ setUpRecyclerView(getCodeResponse.Response.GetCodesList)
+ }
+ }
+ // 650 -> refreshToken()
+ else -> {}
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Log.e(" ", "An error occurred:$message")
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
}
- binding.checkBox.setOnCheckedChangeListener { _, _ ->
+ }
- }
+ private fun setUpRecyclerView(getCustomerList: List) {
+ binding.rvTerms.layoutManager =
+ LinearLayoutManager(activity as BajajFdMainActivity)
+ val customerListAdapter = CustomerListAdapter(getCustomerList)
+ binding.rvTerms.adapter = customerListAdapter
+ }
- binding.btnNext.setOnClickListener {
- if (binding.checkBox.isChecked) {
- bajajFDInterface.stepThreeApi("stepThreeResponse")
- }else{
- showDialogValidation(activity as BajajFdMainActivity, resources.getString(R.string.validTermsConditions))
+ private fun getFDDetailsApi(uniqueId: String) {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val getFDDetailsRequest = GetFDDetailsRequest()
+ getFDDetailsRequest.FDProvider = getString(R.string.bajaj)
+ getFDDetailsRequest.NiveshClientCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
+ getFDDetailsRequest.UniqueId = uniqueId
+ stepFourBajajFDViewModel.getFDDetails(getFDDetailsRequest, Constants.token)
+ stepFourBajajFDViewModel.getFDDetailsMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getFDDetailsResponse: GetFDDetailsResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ GetFDDetailsResponse::class.java
+ )
+ getFDDetailsResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ binding.tvInvestedAmount.text =
+ getFDDetailsResponse.Response.FDDataResponse.FDAmount.toString()
+ binding.tvTenure.text =
+ getFDDetailsResponse.Response.FDDataResponse.Tenure.toString()
+ binding.tvInterestPayout.text =
+ getFDDetailsResponse.Response.FDDataResponse.Frequency
+ binding.tvRateOfInterest.text =
+ getFDDetailsResponse.Response.FDDataResponse.RateOfInterest.toString()
+ }
+ // 650 -> refreshToken()
+ else -> {}
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Log.e(" ", "An error occurred:$message")
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
}
+
}
- return root
}
+
override fun onDestroyView() {
super.onDestroyView()
_binding = null
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 7387d34..fbe5465 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
@@ -73,6 +73,7 @@ class StepOneBajajFDFragment : Fragment() {
listOfMinAmount = ArrayList()
listOfMaxAmount = ArrayList()
listOfFrequency = ArrayList()
+ rgMaturity = RadioButton(activity as BajajFdMainActivity)
// Amount
binding.edtAmount.addTextChangedListener(object : TextWatcher {
@@ -103,7 +104,6 @@ class StepOneBajajFDFragment : Fragment() {
}
}
-
// Tenure
binding.spTenure.setOnItemClickListener { _, _, position, _ ->
removeError(binding.tlInterestTenure)
@@ -122,6 +122,7 @@ class StepOneBajajFDFragment : Fragment() {
}
// Maturity Options
+ rgMaturity.text = getString(R.string.additionalDetailOne)
binding.radioGroup.setOnCheckedChangeListener { group, checkedId ->
rgMaturity = group.findViewById(checkedId)
Log.e("Maturity", "-->" + rgMaturity.text)
@@ -132,7 +133,6 @@ class StepOneBajajFDFragment : Fragment() {
Log.e("DeductTax", "-->" + binding.rbDeductTax.isChecked)
}
-
// Next Button
binding.btnNext.setOnClickListener {
if (validation()) {
@@ -160,13 +160,15 @@ class StepOneBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = ""
(activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = ""
- (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails = (activity as BajajFdMainActivity).fdInvestmentDetails
+ Log.e("Maturity", "-->" + rgMaturity.text)
bajajFDInterface.stepOneApi("stepOneResponse")
}
}
minAmountApi()
interestPayoutApi()
+
return root
}
@@ -204,14 +206,19 @@ class StepOneBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -221,7 +228,6 @@ class StepOneBajajFDFragment : Fragment() {
}
}
-
private fun minAmountApi() {
val getCodeRequest = GetCodeRequest()
getCodeRequest.ProductName = getString(R.string.bajajFD)
@@ -247,14 +253,19 @@ class StepOneBajajFDFragment : Fragment() {
maxAmountApi()
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -283,14 +294,19 @@ class StepOneBajajFDFragment : Fragment() {
listOfMaxAmount = getCodeResponse.Response.GetCodesList
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -300,7 +316,6 @@ class StepOneBajajFDFragment : Fragment() {
}
}
-
private fun setUpRecyclerView() {
recyclerViewDropDownAdapter = HorizontalRecyclerViewAdapter(
@@ -320,7 +335,6 @@ class StepOneBajajFDFragment : Fragment() {
binding.rvTenure.adapter = recyclerViewDropDownAdapter
}
-
private fun maturityAmountApi(tenure: Int, interest: Double) {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
if (binding.edtAmount.text.toString().length >= 4 && interest != 0.0 && tenure != 0) {
@@ -349,7 +363,10 @@ class StepOneBajajFDFragment : Fragment() {
}
// 650 -> refreshToken()
else -> {
-
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getMaturityAmountResponse.Response.Errors[0].ErrorMessage
+ )
}
}
}
@@ -357,7 +374,7 @@ class StepOneBajajFDFragment : Fragment() {
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -369,7 +386,6 @@ class StepOneBajajFDFragment : Fragment() {
}
}
-
private fun validation(): Boolean {
return if (binding.edtAmount.text.toString().isEmpty()) {
commonErrorMethod(
@@ -464,14 +480,19 @@ class StepOneBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getRatesResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -486,5 +507,4 @@ class StepOneBajajFDFragment : Fragment() {
super.onDestroyView()
_binding = null
}
-
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt b/app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepThreeBajajFDFragment.kt
index 1c019b8..45290d2 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
@@ -1,23 +1,53 @@
package com.nivesh.production.bajajfd.ui.fragment
+import android.Manifest
+import android.app.ActionBar.LayoutParams
+import android.app.Dialog
+import android.content.pm.PackageManager
+import android.graphics.Bitmap
+import android.net.Uri
import android.os.Bundle
+import android.provider.MediaStore
+import android.util.Log
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
+import android.widget.AdapterView
+import android.widget.ArrayAdapter
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.core.app.ActivityCompat
+import androidx.core.content.ContextCompat
+import androidx.core.content.FileProvider
import androidx.fragment.app.Fragment
-import androidx.lifecycle.ViewModelProvider
-import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
+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.databinding.FragmentBajajfdStepThreeBinding
+import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
+import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
+import com.nivesh.production.bajajfd.util.Common
+import com.nivesh.production.bajajfd.util.Constants
+import com.nivesh.production.bajajfd.util.Resource
import com.nivesh.production.bajajfd.viewModel.StepThreeBajajFDViewModel
+import java.io.File
class StepThreeBajajFDFragment : Fragment() {
- private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
+ private var latestTmpUri: Uri? = null
private var _binding: FragmentBajajfdStepThreeBinding? = null
private val binding get() = _binding!!
+ private lateinit var listOfDocType: List
private lateinit var bajajFDInterface: BajajFDInterface
+ private lateinit var stepThreeBajajFDViewModel: StepThreeBajajFDViewModel
+
+ private lateinit var dialog: Dialog
+
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepThreeBajajFDFragment {
val stepTwoFragment = StepThreeBajajFDFragment()
@@ -25,10 +55,38 @@ class StepThreeBajajFDFragment : Fragment() {
return stepTwoFragment
}
}
+
private fun setApi(bajajFDInterfaces: BajajFDInterface) {
bajajFDInterface = bajajFDInterfaces
}
+ private val selectImageIntent = registerForActivityResult(ActivityResultContracts.GetContent())
+ { uri ->
+ val bitmap: Bitmap = MediaStore.Images.Media.getBitmap(context?.contentResolver, uri)
+ binding.iv.setImageBitmap(bitmap)
+ }
+
+ private val takeImageResult =
+ registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess ->
+ if (isSuccess) {
+ latestTmpUri?.let { uri ->
+// binding.iv.setImageURI(uri)
+ uploadDocument()
+ }
+ }
+ }
+
+ private val requestPermission = registerForActivityResult(
+ ActivityResultContracts.RequestPermission()
+ ) { isGranted: Boolean ->
+ if (isGranted) {
+ Log.e("permission:", "Granted")
+ } else {
+ Log.e("permission:", "Denied")
+ }
+ }
+
+
override fun onCreateView(
inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?
@@ -36,24 +94,221 @@ class StepThreeBajajFDFragment : Fragment() {
_binding = FragmentBajajfdStepThreeBinding.inflate(inflater, container, false)
val root = binding.root
+ stepThreeBajajFDViewModel = (activity as BajajFdMainActivity).stepThreeBajajFDViewModel
-
- binding.btnNext.setOnClickListener{
- if (validate()){
-
+ binding.btnNext.setOnClickListener {
+ if (validate()) {
+ //
+ // bajajFDInterface.stepThreeApi((activity as BajajFdMainActivity).createFDRequest)
}
}
- binding.btnBack.setOnClickListener{
+ binding.btnBack.setOnClickListener {
(activity as BajajFdMainActivity).binding.viewPager.currentItem = 1
}
+
+ binding.btnAadhaarFrontUpload.setOnClickListener {
+ selectImage()
+ }
+
+ binding.spDocType.onItemClickListener =
+ AdapterView.OnItemClickListener { parent, _, position, _ ->
+
+ val getCodes: GetCodes = parent.getItemAtPosition(position) as GetCodes
+ when (getCodes.Value) {
+ resources.getString(R.string.aadhar) ->
+ setAadhaarUploadLayout()
+ else -> {
+ setOtherUploadLayout(getCodes.Value)
+ }
+ }
+ }
+
+ docTypeApi()
return root
}
- private fun validate(): Boolean {
+ private fun selectImage() {
+ dialog = Dialog(activity as BajajFdMainActivity)
+ dialog.setContentView(R.layout.camera_gallery_layout)
+ val ivCut: ImageView = dialog.findViewById(R.id.ivCut)
+ val tvGallery: TextView = dialog.findViewById(R.id.tvGallery)
+ val tvCamera: TextView = dialog.findViewById(R.id.tvCamera)
+
+ ivCut.setOnClickListener {
+ dialog.cancel()
+ }
+
+ tvGallery.setOnClickListener {
+ dialog.cancel()
+ when {
+ ContextCompat.checkSelfPermission(
+ activity as BajajFdMainActivity,
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ ) == PackageManager.PERMISSION_GRANTED -> {
+ selectImageIntent.launch("image/*")
+ }
+
+ ActivityCompat.shouldShowRequestPermissionRationale(
+ activity as BajajFdMainActivity,
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ ) -> {
+ requestPermission.launch(
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ )
+ }
+
+ else -> {
+ requestPermission.launch(
+ Manifest.permission.READ_EXTERNAL_STORAGE
+ )
+ }
+ }
+ }
+
+ tvCamera.setOnClickListener {
+ dialog.cancel()
+ when {
+ ContextCompat.checkSelfPermission(
+ activity as BajajFdMainActivity,
+ Manifest.permission.CAMERA
+ ) == PackageManager.PERMISSION_GRANTED -> {
+ takeImage()
+ }
+
+ ActivityCompat.shouldShowRequestPermissionRationale(
+ activity as BajajFdMainActivity,
+ Manifest.permission.CAMERA
+ ) -> {
+ requestPermission.launch(
+ Manifest.permission.CAMERA
+ )
+ }
+ else -> {
+ requestPermission.launch(
+ Manifest.permission.CAMERA
+ )
+ }
+ }
+ }
+
+ dialog.show()
+ dialog.window?.setLayout(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT)
+ }
+
+ private fun checkCameraStoragePermission(
+ permission: String,
+ selectImageIntent: ActivityResultLauncher
+ ) {
+ TODO("Not yet implemented")
+ }
+
+ private fun setOtherUploadLayout(itemName: String) {
+ binding.tvAadhaarFront.text = itemName.plus(" Front *")
+ if (binding.tvAadhaarBack.visibility == View.VISIBLE) binding.tvAadhaarBack.visibility =
+ View.INVISIBLE
+ if (binding.btnAadhaarBackUpload.visibility == View.VISIBLE) binding.btnAadhaarBackUpload.visibility =
+ View.INVISIBLE
+ }
+
+ private fun setAadhaarUploadLayout() {
+ binding.tvAadhaarFront.text = resources.getString(R.string.aadhaarFront)
+ binding.tvAadhaarBack.text = resources.getString(R.string.aadhaarBack)
+
+ binding.tvAadhaarBack.visibility = View.VISIBLE
+ binding.btnAadhaarBackUpload.visibility = View.VISIBLE
+
+ binding.tvAadhaarFront.visibility = View.VISIBLE
+ binding.btnAadhaarFrontUpload.visibility = View.VISIBLE
+ }
+
+ private fun uploadDocument() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val documentUpload = DocumentUpload()
+ }
+ }
+
+ private fun docTypeApi() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val getCodeRequest = GetCodeRequest()
+ getCodeRequest.ProductName = getString(R.string.bajajFD)
+ getCodeRequest.Category = getString(R.string.docType)
+ getCodeRequest.Language = getString(R.string.language)
+ getCodeRequest.InputValue = ""
+ stepThreeBajajFDViewModel.titleApi(getCodeRequest, Constants.token)
+ stepThreeBajajFDViewModel.getTitleMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getCodeResponse: GetCodeResponse =
+ Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
+ getCodeResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ listOfDocType = getCodeResponse.Response.GetCodesList
+ if (listOfDocType.isNotEmpty()) {
+ val adapter = ArrayAdapter(
+ activity as BajajFdMainActivity,
+ R.layout.spinner_dropdown,
+ listOfDocType
+ )
+ binding.spDocType.setAdapter(adapter)
+ binding.spDocType.setText(
+ adapter.getItem(0)?.Value,
+ false
+ )
+ setOtherUploadLayout(listOfDocType[0].Value)
+ }
+ }
+ // 650 -> refreshToken()
+ else -> {}
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+ }
+ }
+
+
+ private fun validate(): Boolean {
return false
}
+ private fun takeImage() {
+ lifecycleScope.launchWhenStarted {
+ getTmpFileUri().let { uri ->
+ latestTmpUri = uri
+ takeImageResult.launch(uri)
+ }
+ }
+ }
+
+ private fun getTmpFileUri(): Uri {
+ val tmpFile =
+ File.createTempFile("tmp_image_file", ".png", requireActivity().cacheDir).apply {
+ createNewFile()
+ deleteOnExit()
+ }
+
+ return FileProvider.getUriForFile(
+ requireActivity(),
+ "${BuildConfig.APPLICATION_ID}.provider",
+ tmpFile
+ )
+ }
+
+
+
override fun onDestroyView() {
super.onDestroyView()
_binding = null
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 47b79a1..20e4403 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
@@ -1,7 +1,7 @@
package com.nivesh.production.bajajfd.ui.fragment
-import android.annotation.SuppressLint
import android.app.DatePickerDialog
+import android.app.Dialog
import android.os.Bundle
import android.text.Editable
import android.text.InputFilter
@@ -9,22 +9,28 @@ import android.text.InputFilter.LengthFilter
import android.text.TextWatcher
import android.util.Log
import android.view.LayoutInflater
-import android.view.MotionEvent
import android.view.View
import android.view.ViewGroup
+import android.view.WindowManager
import android.widget.ArrayAdapter
import android.widget.RadioButton
-import android.widget.Toast
+import android.widget.TextView
import androidx.core.content.ContextCompat
import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
import com.google.android.material.textfield.TextInputEditText
import com.google.gson.Gson
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.databinding.FragmentBajajfdStepTwoBinding
import com.nivesh.production.bajajfd.interfaces.BajajFDInterface
import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity
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
import com.nivesh.production.bajajfd.util.Common.Companion.getDate
@@ -33,6 +39,7 @@ 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.util.Common.Companion.removeError
+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.StepTwoBajajFDViewModel
@@ -55,10 +62,17 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var listOfRelationShip: List
private lateinit var listOfMaritalStatus: List
private lateinit var listOfOccupation: List
+ private lateinit var listOfPayMode: List
+
private lateinit var listOfStates: List
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
companion object {
fun getInstance(fdInterface: BajajFDInterface): StepTwoBajajFDFragment {
@@ -88,6 +102,13 @@ class StepTwoBajajFDFragment : Fragment() {
listOfMaritalStatus = ArrayList()
listOfOccupation = ArrayList()
listOfStates = ArrayList()
+ listOfIFSC = ArrayList()
+ listOfPayMode = ArrayList()
+
+ stateObject = DataObject()
+
+ rbPaymentMode = RadioButton(activity as BajajFdMainActivity)
+
// Personal Details
binding.edtMobileNumber.filters = arrayOf(LengthFilter(10))
binding.edtPANNumber.filters = arrayOf(LengthFilter(10))
@@ -107,9 +128,11 @@ class StepTwoBajajFDFragment : Fragment() {
}
})
binding.edtMobileNumber.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.mobile)
-
+ binding.edtMobileNumber.setSelection(binding.edtMobileNumber.text.toString().length)
// create an OnDateSetListener
- binding.edtDOB.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB)
+ if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.isNullOrEmpty()) {
+ binding.edtDOB.setText(getDate((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_DOB.toString()))
+ }
binding.edtDOB.setOnClickListener {
removeError(binding.tlDOB)
datePicker(binding.edtDOB)
@@ -137,11 +160,6 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlTitle)
}
- val splitStringName =
- (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_APPNAME1?.split(
- "\\s".toRegex()
- )?.toTypedArray()
-
binding.edtFirstName.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -154,8 +172,6 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlFirstName)
}
})
- binding.edtFirstName.setText(splitStringName?.get(0).toString())
-
binding.edtMiddleName.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -168,8 +184,6 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlMiddleName)
}
})
- binding.edtMiddleName.setText(splitStringName?.get(1).toString())
-
binding.edtLastName.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -182,7 +196,25 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlLastName)
}
})
- binding.edtLastName.setText(splitStringName?.get(2).toString())
+
+ val splitStringName =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_APPNAME1?.split(
+ "\\s".toRegex()
+ )?.toTypedArray()
+ when (splitStringName?.size) {
+ 1 -> {
+ binding.edtFirstName.setText(splitStringName[0])
+ }
+ 2 -> {
+ binding.edtFirstName.setText(splitStringName[0])
+ binding.edtLastName.setText(splitStringName[1])
+ }
+ 3 -> {
+ binding.edtFirstName.setText(splitStringName[0])
+ binding.edtMiddleName.setText(splitStringName[1])
+ binding.edtLastName.setText(splitStringName[2])
+ }
+ }
binding.spGender.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlGender)
@@ -223,23 +255,6 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlMarital)
}
- binding.spRelation.setOnItemClickListener { _, _, _, _ ->
- removeError(binding.tlRelation)
- }
-
- binding.edtRelationName.addTextChangedListener(object : TextWatcher {
-
- override fun afterTextChanged(s: Editable?) {
- }
-
- override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {
- }
-
- override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
- removeError(binding.tlRelationName)
- }
- })
-
binding.edtAddressLine1.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -252,6 +267,7 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlAddressLine1)
}
})
+ binding.edtAddressLine1.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD1)
binding.edtAddressLine2.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -264,6 +280,7 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlAddressLine2)
}
})
+ binding.edtAddressLine2.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD2)
binding.edtAddressLine3.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -276,9 +293,11 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlAddressLine3)
}
})
+ binding.edtAddressLine3.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ADD3)
- binding.spState.setOnItemClickListener { _, _, _, _ ->
+ binding.spState.setOnItemClickListener { parent, _, position, _ ->
removeError(binding.tlState)
+ stateObject = parent.getItemAtPosition(position) as DataObject
}
binding.spCity.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlCity)
@@ -295,11 +314,13 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlPinCode)
}
})
+ binding.edtPinCode.setText((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_PINCODE)
// Nominee Details
binding.spNomineeTitle.setOnItemClickListener { _, _, _, _ ->
binding.tlNomineeTitle.error = null
}
+
binding.edtNomineeFirstName.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -336,14 +357,53 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlNomineeLastName)
}
})
+
+ val splitNomineeName =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeName?.split(
+ "\\s".toRegex()
+ )?.toTypedArray()
+ when (splitNomineeName?.size) {
+ 1 -> {
+ binding.edtNomineeFirstName.setText(splitNomineeName[0])
+ }
+ 2 -> {
+ binding.edtNomineeFirstName.setText(splitNomineeName[0])
+ binding.edtNomineeLastName.setText(splitNomineeName[1])
+ }
+ 3 -> {
+ binding.edtNomineeFirstName.setText(splitNomineeName[0])
+ binding.edtNomineeMiddleName.setText(splitNomineeName[1])
+ binding.edtNomineeLastName.setText(splitNomineeName[2])
+ }
+ }
+
+ if (!(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeDOB.isNullOrEmpty()
+ ) {
+ binding.edtNomineeDOB.setText(
+ getDate(
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeDOB.toString()
+ )
+ )
+ }
binding.edtNomineeDOB.setOnClickListener {
removeError(binding.tlNomineeDOB)
datePicker(binding.edtNomineeDOB)
}
+
+ binding.spNomineeRelation.setText(
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeRelationship
+ )
binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlNomineeRelation)
}
-
binding.cbNomineeSameAddress.setOnCheckedChangeListener { _, _ ->
}
@@ -361,6 +421,12 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlGuardianName)
}
})
+ binding.edtGuardianName.setText(
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Nominees?.get(
+ 0
+ )?.NomineeGuardian
+ )
+
binding.edtGuardianAge.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -373,9 +439,11 @@ class StepTwoBajajFDFragment : Fragment() {
removeError(binding.tlGuardianAge)
}
})
+
binding.spGuardianRelation.setOnItemClickListener { _, _, _, _ ->
removeError(binding.tlGuardianRelation)
}
+
binding.edtGuardianAddress.addTextChangedListener(object : TextWatcher {
override fun afterTextChanged(s: Editable?) {
@@ -418,6 +486,7 @@ class StepTwoBajajFDFragment : Fragment() {
override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {
removeError(binding.tlIFSC)
+ ifscCodeCheckApi(s.toString())
}
})
binding.edtAccountNumber.addTextChangedListener(object : TextWatcher {
@@ -457,12 +526,43 @@ class StepTwoBajajFDFragment : Fragment() {
}
})
- binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
- rbPaymentMode = group.findViewById(checkedId)
- Log.e("paymentMode", "-->" + rbPaymentMode.text)
+ binding.btnAddBank.setOnClickListener {
+ if (validateBank()) {
+ /// as
+ }
+ }
+
+// rbPaymentMode.text = getString(R.string.Upi)
+// binding.rgPaymentMode.setOnCheckedChangeListener { group, checkedId ->
+// rbPaymentMode = group.findViewById(checkedId)
+// Log.e("paymentMode", "-->" + rbPaymentMode.text)
+// }
+
+ binding.tvEligibleBankOption.setOnClickListener {
+ apiForEligibleBankList()
+ }
+
+ if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!!) {
+ binding.llBankDetails.visibility = View.VISIBLE
+ } else {
+ binding.llBankDetails.visibility = View.GONE
+ }
+
+
+
+ binding.addBankDetail.setOnClickListener {
+ if (binding.llBankDetails.visibility == View.GONE) {
+ binding.llBankDetails.visibility = View.VISIBLE
+ } else {
+ binding.llBankDetails.visibility = View.GONE
+ }
}
+ titleApi()
+
+ setUpRecyclerView()
+
binding.tvPersonalDetails.setOnClickListener {
if (binding.llPersonalDetail.visibility == View.VISIBLE) {
binding.llPersonalDetail.visibility = View.GONE
@@ -485,7 +585,6 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
- titleApi()
binding.btnNext.setOnClickListener {
if (validation()) {
// Applicant Details
@@ -521,12 +620,14 @@ class StepTwoBajajFDFragment : Fragment() {
binding.edtAddressLine3.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantCity =
binding.spCity.text.toString()
+ // (activity as BajajFdMainActivity).applicantDetails.ApplicantState = binding.spState.text.toString()
(activity as BajajFdMainActivity).applicantDetails.ApplicantState =
- binding.spState.text.toString()
+ stateObject.State_Code
(activity as BajajFdMainActivity).applicantDetails.ApplicantCountry = "India"
(activity as BajajFdMainActivity).applicantDetails.ApplicantPincode =
binding.edtPinCode.text.toString().toInt()
- (activity as BajajFdMainActivity).applicantDetails.AnnualIncome = ""
+ (activity as BajajFdMainActivity).applicantDetails.AnnualIncome =
+ binding.spIncome.text.toString()
// Applicant Relation Details
(activity as BajajFdMainActivity).applicantRelationDetails.ApplicantRelation = ""
@@ -568,13 +669,22 @@ class StepTwoBajajFDFragment : Fragment() {
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianSalutation = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianName =
binding.edtGuardianName.text.toString()
- (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge =
- binding.edtGuardianAge.text.toString().toInt()
+ if (binding.edtGuardianAge.text.toString().isEmpty()) {
+ (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge = 0
+ } else {
+ (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAge =
+ binding.edtGuardianAge.text.toString().toInt()
+ }
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCountry = "India"
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianCity = ""
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianState = ""
- (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode =
- binding.edtGuardianPinCode.text.toString().toInt()
+ if (binding.edtGuardianPinCode.text.toString().isEmpty()) {
+ (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode = 0
+ } else {
+ (activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianPincode =
+ binding.edtGuardianPinCode.text.toString().toInt()
+ }
+
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress1 =
binding.edtGuardianAddress.text.toString()
(activity as BajajFdMainActivity).nomineeGuardianDetails.GuardianAddress2 = ""
@@ -582,29 +692,38 @@ class StepTwoBajajFDFragment : Fragment() {
binding.spGuardianRelation.text.toString()
// Applicant Bank Details
- (activity as BajajFdMainActivity).fdBankDetails.AccountType = rbBank.text.toString()
+ (activity as BajajFdMainActivity).fdBankDetails.AccountType =
+ bankListAdapter.getSelected()?.AccountType
(activity as BajajFdMainActivity).fdBankDetails.BankBranch =
- binding.edtBankBranch.text.toString()
+ bankListAdapter.getSelected()?.BranchName
(activity as BajajFdMainActivity).fdBankDetails.IFSCCode =
- binding.edtIFSC.text.toString()
+ bankListAdapter.getSelected()?.IFSCCode
(activity as BajajFdMainActivity).fdBankDetails.AccountNumber =
- binding.edtAccountNumber.text.toString()
+ bankListAdapter.getSelected()?.AccountNumber
(activity as BajajFdMainActivity).fdBankDetails.BankName =
- binding.edtBankName.text.toString()
+ bankListAdapter.getSelected()?.BankName
(activity as BajajFdMainActivity).fdBankDetails.PaymentMode =
rbPaymentMode.text.toString()
- (activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantDetails
- (activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantRelationDetails
- (activity as BajajFdMainActivity).createFDApplicantRequest.FdBankDetails
- (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeDetails
- (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantDetails =
+ (activity as BajajFdMainActivity).applicantDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.ApplicantRelationDetails =
+ (activity as BajajFdMainActivity).applicantRelationDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.FdBankDetails =
+ (activity as BajajFdMainActivity).fdBankDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeDetails =
+ (activity as BajajFdMainActivity).nomineeDetails
+ (activity as BajajFdMainActivity).createFDApplicantRequest.NomineeGuardianDetails =
+ (activity as BajajFdMainActivity).nomineeGuardianDetails
+
+ (activity as BajajFdMainActivity).createFDRequest.CreateFDApplicationRequest =
+ (activity as BajajFdMainActivity).createFDApplicantRequest
Log.e(
"CreateFDRequest",
- "-->" + Gson().toJson((activity as BajajFdMainActivity).createFDApplicantRequest)
+ "-->" + Gson().toJson((activity as BajajFdMainActivity).createFDRequest)
)
- bajajFDInterface.stepTwoApi("stepTwoResponse")
+ bajajFDInterface.stepTwoApi((activity as BajajFdMainActivity).createFDRequest)
}
}
@@ -615,16 +734,177 @@ class StepTwoBajajFDFragment : Fragment() {
return root
}
+ private fun ifscCodeCheckApi(ifsc: String) {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ if (ifsc.length == 11) {
+ stepTwoBajajFDViewModel.ifscCodeApi(ifsc)
+ stepTwoBajajFDViewModel.getifscCodeCheckMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ val getIFSCCodeListResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ GetIFSCCodeListResponse::class.java
+ )
+ getIFSCCodeListResponse.Response.status_code.let { code ->
+ when (code) {
+ 200 -> {
+ if (listOfIFSC.size > 0) {
+ listOfIFSC.clear()
+ }
+ listOfIFSC = getIFSCCodeListResponse.IFSCCodes
+ if (listOfIFSC.size > 0) {
+ val adapter = ArrayAdapter(
+ activity as BajajFdMainActivity,
+ R.layout.spinner_dropdown,
+ listOfIFSC
+ )
+ binding.edtIFSC.setAdapter(adapter)
+ }
+ binding.edtIFSC.setOnItemClickListener { _, _, position, _ ->
+ if (listOfIFSC.size > 0) {
+ binding.edtIFSC.setText(listOfIFSC[position])
+ binding.edtIFSC.setSelection(binding.edtIFSC.text.toString().length)
+ getIFSCDetailsApi(listOfIFSC[position])
+ }
+ }
+
+ }
+ // 650 -> refreshToken()
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getIFSCCodeListResponse.Response.message
+ )
+ }
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ message
+ )
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+ }
+ }
+ }
+
+ private fun getIFSCDetailsApi(ifscCode: String) {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ stepTwoBajajFDViewModel.ifscCodeDetailsApi(ifscCode, token)
+ stepTwoBajajFDViewModel.getifscCodeDetailsCheckMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ val getIFSCCodeResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ GetIFSCCodeResponse::class.java
+ )
+ getIFSCCodeResponse.Response.status_code.let { code ->
+ when (code) {
+ 200 -> {
+ binding.edtBankName.setText(getIFSCCodeResponse.BANK)
+ binding.edtBankBranch.setText(getIFSCCodeResponse.BRANCH)
+ }
+ // 650 -> refreshToken()
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getIFSCCodeResponse.Response.message
+ )
+ }
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+ }
+ }
+
+ private fun validateBank(): Boolean {
+ return if (binding.edtIFSC.text.toString().isEmpty()) { // EditText
+ commonErrorAutoCompleteMethod(
+ binding.edtIFSC,
+ binding.tlIFSC,
+ getString(R.string.emptyIFSCCode)
+ )
+ } else if (binding.edtIFSC.text.toString().length != 11) { // EditText
+ commonErrorAutoCompleteMethod(
+ binding.edtIFSC,
+ binding.tlIFSC,
+ getString(R.string.validIFSCCode)
+ )
+ } else if (binding.edtAccountNumber.text.toString().isEmpty()) { // EditText
+ commonErrorMethod(
+ binding.edtAccountNumber,
+ binding.tlAccountNumber,
+ getString(R.string.emptyAccNo)
+ )
+ } else if (binding.edtBankName.text.toString().isEmpty()) { // EditText
+ commonErrorMethod(
+ binding.edtBankName,
+ binding.tlBankName,
+ getString(R.string.emptyBankName)
+ )
+ } else if (binding.edtBankBranch.text.toString().isEmpty()) { // EditText
+ commonErrorMethod(
+ binding.edtBankBranch,
+ binding.tlBankBranchName,
+ getString(R.string.emptyBranchName)
+ )
+ } else {
+ return true
+ }
+ }
+
+ private fun setUpRecyclerView() {
+ if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isNotEmpty()!!) {
+ binding.rvClientBankList.layoutManager =
+ LinearLayoutManager(activity as BajajFdMainActivity)
+ bankListAdapter = BankListAdapter(
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist,
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_ACCNO1
+ )
+ binding.rvClientBankList.adapter = bankListAdapter
+ }
+ }
+
+
+
+
private fun datePicker(edtDOB: TextInputEditText) {
val year = cal.get(Calendar.YEAR)
val month = cal.get(Calendar.MONTH)
val day = cal.get(Calendar.DAY_OF_MONTH)
val datePickerDialog = DatePickerDialog(
- activity as BajajFdMainActivity, { _, year, monthOfYear, dayOfMonth ->
+ activity as BajajFdMainActivity, { _, years, monthOfYear, dayOfMonth ->
if (monthOfYear.toString().length == 1) {
"0".plus(monthOfYear)
}
- edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + year))
+ // edtDOB.setText(getDate(dayOfMonth.toString() + "-" + (monthOfYear + 1) + "-" + years))
+ edtDOB.setText(
+ years.toString().plus("-").plus(monthOfYear + 1).plus("-")
+ .plus(dayOfMonth.toString())
+ )
+ edtDOB.setSelection(edtDOB.text.toString().length)
}, year, month, day
)
datePickerDialog.datePicker.maxDate = cal.timeInMillis
@@ -634,12 +914,13 @@ class StepTwoBajajFDFragment : Fragment() {
datePickerDialog.show()
}
-
private fun panCheckApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val panCheck = PanCheckRequest()
- panCheck.clientCode = "0"
- panCheck.subBrokerCode = "0"
+ panCheck.clientCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
+ panCheck.subBrokerCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
panCheck.panNumber = binding.edtPANNumber.text.toString()
panCheck.mobileNumber = ""
stepTwoBajajFDViewModel.panCheck(panCheck, token)
@@ -681,7 +962,7 @@ class StepTwoBajajFDFragment : Fragment() {
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -693,7 +974,7 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
- @SuppressLint("ClickableViewAccessibility")
+
private fun titleApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
@@ -711,8 +992,6 @@ class StepTwoBajajFDFragment : Fragment() {
getCodeResponse.Response.StatusCode.let { code ->
when (code) {
200 -> {
-
- //set data in spinner
listOfTitle = getCodeResponse.Response.GetCodesList
if (listOfTitle.isNotEmpty()) {
val adapter = ArrayAdapter(
@@ -722,44 +1001,36 @@ class StepTwoBajajFDFragment : Fragment() {
)
binding.spTitle.setAdapter(adapter)
- val titleText=(activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
- val newTitleText= "$titleText."
- if (titleText.isNullOrEmpty()) {
+ val titleText =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.Client_Title
+ val newTitleText = "$titleText."
+ if (titleText?.isEmpty()!!) {
binding.spTitle.setText(
adapter.getItem(0)?.Value,
false
)
- }else{
+ } else {
for (title in listOfTitle) {
- if (title.Value ==newTitleText)
- {
- binding.spTitle.setText(title.Value,false)
+ if (title.Value == newTitleText) {
+ binding.spTitle.setText(title.Value, false)
break
}
- binding.spTitle.setOnTouchListener { v, event ->
- when (event?.action) {
- MotionEvent.ACTION_DOWN -> {
- binding.spTitle.setText(
- adapter.getItem(0)?.Value,
- false
- )
-
- }
- }
-
- v?.onTouchEvent(event) ?: true
- }
-
-
+// binding.spTitle.setOnTouchListener { v, event ->
+// when (event?.action) {
+// MotionEvent.ACTION_DOWN -> {
+// binding.spTitle.setText(
+// adapter.getItem(0)?.Value,
+// false
+// )
+//
+// }
+// }
+//
+// v?.onTouchEvent(event) ?: true
+// }
}
-
}
-
-
-
-
-
binding.spNomineeTitle.setAdapter(adapter)
binding.spNomineeTitle.setText(
adapter.getItem(0)?.Value,
@@ -772,17 +1043,70 @@ class StepTwoBajajFDFragment : Fragment() {
occupationApi()
annualIncomeApi()
stateListApi()
+ paymentModeApi()
+
+ }
+ // 650 -> refreshToken()
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
+ }
+ }
+ }
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+
+ }
+ }
+
+ private fun paymentModeApi() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ val getCodeRequest = GetCodeRequest()
+ getCodeRequest.ProductName = getString(R.string.bajajFD)
+ getCodeRequest.Category = getString(R.string.paymentModeCategory)
+ getCodeRequest.Language = getString(R.string.language)
+ getCodeRequest.InputValue = ""
+ stepTwoBajajFDViewModel.paymentModeApi(getCodeRequest, Constants.token)
+ stepTwoBajajFDViewModel.getPaymentModeMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getCodeResponse: GetCodeResponse =
+ Gson().fromJson(response.data?.toString(), GetCodeResponse::class.java)
+ getCodeResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ if (getCodeResponse.Response.GetCodesList.isNotEmpty()){
+ listOfPayMode = getCodeResponse.Response.GetCodesList
+ setUpRecyclerViewPaymentMode(listOfPayMode)
+ }
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -794,6 +1118,18 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
+ private fun setUpRecyclerViewPaymentMode(listOfPayMode: List) {
+
+ binding.rvPaymentMode.layoutManager =
+ LinearLayoutManager(activity as BajajFdMainActivity)
+ paymentModeAdapter = PaymentModeAdapter(
+ listOfPayMode,
+ listOfPayMode[0].Value
+ )
+ binding.rvPaymentMode.adapter = paymentModeAdapter
+ }
+
+
private fun genderApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest()
@@ -826,14 +1162,19 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -870,11 +1211,6 @@ class StepTwoBajajFDFragment : Fragment() {
R.layout.spinner_dropdown,
listOfRelationShip
)
- binding.spRelation.setAdapter(adapter)
- binding.spRelation.setText(
- adapter.getItem(0)?.Value,
- false
- )
binding.spNomineeRelation.setAdapter(adapter)
binding.spNomineeRelation.setText(
@@ -890,14 +1226,19 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -942,14 +1283,19 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -994,14 +1340,19 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -1046,14 +1397,19 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getCodeResponse.Response.Errors[0].ErrorMessage
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -1089,22 +1445,44 @@ class StepTwoBajajFDFragment : Fragment() {
listOfStates
)
binding.spState.setAdapter(adapter)
- binding.spState.setText(
- adapter.getItem(0)?.State_Name,
- false
- )
- cityListApi(adapter.getItem(0)?.State_Id)
+ val newTitleText =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_STATE
+ if (newTitleText?.isEmpty()!!) {
+ binding.spState.setText(
+ adapter.getItem(0)?.State_Name,
+ false
+ )
+ cityListApi(adapter.getItem(0)?.State_Id)
+
+ stateObject = adapter.getItem(0) as DataObject
+ Log.e("if", " -->" + stateObject.State_Code)
+ } else {
+ for (title in listOfStates) {
+ if (title.State_Code == newTitleText) {
+ binding.spState.setText(title.State_Name, false)
+ cityListApi(title.State_Id)
+ stateObject = title
+ Log.e("else", " -->" + stateObject.State_Code)
+ break
+ }
+ }
+ }
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ stateListResponse.response.message
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -1121,15 +1499,17 @@ class StepTwoBajajFDFragment : Fragment() {
val cityRequest = CityRequest()
cityRequest.StateCode = stateCode
cityRequest.Type = ""
- cityRequest.ClientCode = "8872"
+ cityRequest.ClientCode =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CODE
cityRequest.RoleID = 5
cityRequest.APIName = ""
cityRequest.UID = 19060
- cityRequest.Subbroker_Code = "1014"
+ cityRequest.Subbroker_Code =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.sub_broker_code
cityRequest.RMCode = ""
cityRequest.HOCode = ""
- cityRequest.Source = "Nivesh"
- cityRequest.APP_Web = "App"
+ cityRequest.Source = getString(R.string.source)
+ cityRequest.APP_Web = getString(R.string.app)
stepTwoBajajFDViewModel.cityListApi(cityRequest, token)
stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
@@ -1148,21 +1528,38 @@ class StepTwoBajajFDFragment : Fragment() {
listOfCities
)
binding.spCity.setAdapter(adapter)
- binding.spCity.setText(
- adapter.getItem(0)?.city_name,
- false
- )
+
+ val newTitleText =
+ (activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.clientDetails?.clientMasterMFD?.CLIENT_CITY
+ if (newTitleText?.isEmpty()!!) {
+ binding.spCity.setText(
+ adapter.getItem(0)?.city_name,
+ false
+ )
+ } else {
+ for (title in listOfCities) {
+ if (title.city_name == newTitleText) {
+ binding.spCity.setText(title.city_name, false)
+ break
+ }
+ }
+ }
}
}
// 650 -> refreshToken()
- else -> {}
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ cityListResponse.response.message
+ )
+ }
}
}
}
is Resource.Error -> {
response.message?.let { message ->
- Log.e(" ", "An error occurred:$message")
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
}
}
is Resource.Loading -> {
@@ -1172,6 +1569,72 @@ class StepTwoBajajFDFragment : Fragment() {
}
}
+ private fun apiForEligibleBankList() {
+ if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
+ stepTwoBajajFDViewModel.bankListApi(token)
+ stepTwoBajajFDViewModel.getFDBankListMutableData.observe(viewLifecycleOwner) { response ->
+ when (response) {
+ is Resource.Success -> {
+ Log.e("response", "-->$response")
+ val getFDBankListResponse: GetFDBankListResponse =
+ Gson().fromJson(
+ response.data?.toString(),
+ GetFDBankListResponse::class.java
+ )
+ getFDBankListResponse.Response.StatusCode.let { code ->
+ when (code) {
+ 200 -> {
+ if (getFDBankListResponse.Response.BankList.isNotEmpty()) {
+ dialogForBankList(getFDBankListResponse.Response.BankList)
+ }
+ }
+ // 650 -> refreshToken()
+ else -> {
+ Common.showDialogValidation(
+ activity as BajajFdMainActivity,
+ getFDBankListResponse.Response.Errors[0].ErrorMessage
+ )
+ }
+ }
+ }
+ }
+
+ is Resource.Error -> {
+ response.message?.let { message ->
+ Common.showDialogValidation(activity as BajajFdMainActivity, message)
+ }
+ }
+ is Resource.Loading -> {
+
+ }
+ }
+ }
+
+ }
+ }
+
+ private fun dialogForBankList(bankList: List) {
+ val dialog = Dialog(activity as BajajFdMainActivity)
+ dialog.setContentView(R.layout.layout_bank_list)
+ dialog.setCancelable(true)
+ dialog.window!!
+ .setLayout(
+ WindowManager.LayoutParams.MATCH_PARENT,
+ WindowManager.LayoutParams.MATCH_PARENT
+ )
+ val rvClientList = dialog.findViewById(R.id.rvBankList)
+ rvClientList.layoutManager = LinearLayoutManager(activity as BajajFdMainActivity)
+ val tvCancel = dialog.findViewById(R.id.tvCancel)
+ tvCancel.setOnClickListener {
+ dialog.dismiss()
+ }
+
+ if (bankList.isNotEmpty()) {
+ val bankListAdapter = RecommendedBankListAdapter(bankList)
+ rvClientList.adapter = bankListAdapter
+ }
+ dialog.show()
+ }
// validations
private fun validation(): Boolean {
@@ -1213,6 +1676,12 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlTitle,
getString(R.string.emptyTitle)
)
+ } else if (binding.spGender.text.toString().isEmpty()) { // Spinner
+ commonSpinnerErrorMethod(
+ binding.spGender,
+ binding.tlGender,
+ getString(R.string.emptyGender)
+ )
} else if (binding.edtFirstName.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtFirstName,
@@ -1249,22 +1718,18 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlLastName,
getString(R.string.validLastName)
)
- } else if (binding.spGender.text.toString().isEmpty()) { // Spinner
- commonSpinnerErrorMethod(
- binding.spGender,
- binding.tlGender,
- getString(R.string.emptyGender)
- )
- } else if (binding.edtEmail.text.toString().isEmpty()) { // EditText
- commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.emptyEmail))
- } else if (isValidEmail(binding.edtEmail.text.toString())) { // EditText
- commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.validEmail))
} else if (binding.spOccupation.text.toString().isEmpty()) { // EditText
commonSpinnerErrorMethod(
binding.spOccupation,
binding.tlOccupation,
getString(R.string.emptyOccupation)
)
+ } else if (binding.spIncome.text.toString().isEmpty()) { // EditText
+ commonSpinnerErrorMethod(
+ binding.spIncome,
+ binding.tlIncome,
+ getString(R.string.emptyIncome)
+ )
} else if (binding.edtQualification.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtQualification,
@@ -1277,18 +1742,10 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlMarital,
getString(R.string.emptyMaritalStatus)
)
- } else if (binding.spRelation.text.toString().isEmpty()) { // Spinner
- commonSpinnerErrorMethod(
- binding.spRelation,
- binding.tlRelation,
- getString(R.string.emptyRelation)
- )
- } else if (binding.edtRelationName.text.toString().isEmpty()) { // EditText
- commonErrorMethod(
- binding.edtRelationName,
- binding.tlRelationName,
- getString(R.string.emptyRelationName)
- )
+ } else if (binding.edtEmail.text.toString().isEmpty()) { // EditText
+ commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.emptyEmail))
+ } else if (!isValidEmail(binding.edtEmail.text.toString())) { // EditText
+ commonErrorMethod(binding.edtEmail, binding.tlEmail, getString(R.string.validEmail))
} else if (binding.edtAddressLine1.text.toString().isEmpty()) { // EditText
commonErrorMethod(
binding.edtAddressLine1,
@@ -1327,23 +1784,41 @@ class StepTwoBajajFDFragment : Fragment() {
binding.tlPinCode,
getString(R.string.validPinCode)
)
- } else if (binding.edtIFSC.text.toString().isEmpty()) { // EditText
- commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.emptyIFSCCode))
- } else if (binding.edtIFSC.text.toString().length != 11) { // EditText
- commonErrorMethod(binding.edtIFSC, binding.tlIFSC, getString(R.string.validIFSCCode))
- } else if (binding.edtAccountNumber.text.toString().isEmpty()) { // EditText
+ } else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
+ .isEmpty()
+ ) { // EditText
+ commonErrorAutoCompleteMethod(
+ binding.edtIFSC,
+ binding.tlIFSC,
+ getString(R.string.emptyIFSCCode)
+ )
+ } else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtIFSC.text.toString()
+ .length != 11
+ ) { // EditText
+ commonErrorAutoCompleteMethod(
+ binding.edtIFSC,
+ binding.tlIFSC,
+ getString(R.string.validIFSCCode)
+ )
+ } else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtAccountNumber.text.toString()
+ .isEmpty()
+ ) { // EditText
commonErrorMethod(
binding.edtAccountNumber,
binding.tlAccountNumber,
getString(R.string.emptyAccNo)
)
- } else if (binding.edtBankName.text.toString().isEmpty()) { // EditText
+ } else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtBankName.text.toString()
+ .isEmpty()
+ ) { // EditText
commonErrorMethod(
binding.edtBankName,
binding.tlBankName,
getString(R.string.emptyBankName)
)
- } else if (binding.edtBankBranch.text.toString().isEmpty()) { // EditText
+ } else if ((activity as BajajFdMainActivity).getClientDetailsResponse.ObjectResponse?.ClientBanklist?.isEmpty()!! && binding.edtBankBranch.text.toString()
+ .isEmpty()
+ ) { // EditText
commonErrorMethod(
binding.edtBankBranch,
binding.tlBankBranchName,
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
index 1c91da4..fc36a35 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Common.kt
@@ -1,6 +1,5 @@
package com.nivesh.production.bajajfd.util
-import android.annotation.SuppressLint
import android.app.Activity
import android.app.AlertDialog
import android.content.Context
@@ -14,10 +13,11 @@ import android.util.Patterns
import com.google.android.material.textfield.MaterialAutoCompleteTextView
import com.google.android.material.textfield.TextInputEditText
import com.google.android.material.textfield.TextInputLayout
+import com.google.gson.JsonObject
import com.nivesh.production.bajajfd.R
+import retrofit2.HttpException
+import java.io.IOException
import java.text.SimpleDateFormat
-import java.time.LocalDate
-import java.time.format.DateTimeFormatter
import java.util.*
import java.util.regex.Matcher
import java.util.regex.Pattern
@@ -25,7 +25,7 @@ import java.util.regex.Pattern
class Common {
- companion object{
+ companion object {
/**
*Before use this method write following code in model class
app:Application(in activity and model)
@@ -33,10 +33,12 @@ class Common {
val connectivityManager = getApplication().getSystemService(....
**/
//internet check
- fun isNetworkAvailable(activity: Activity): Boolean {
+ fun isNetworkAvailable(activity: Activity): Boolean {
val connectivityManager = activity.getSystemService(
Context.CONNECTIVITY_SERVICE
) as ConnectivityManager
+
+
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
val activeNetwork = connectivityManager.activeNetwork ?: return false
@@ -63,11 +65,11 @@ class Common {
//valid email check
fun isValidEmail(target: String?): Boolean {
- return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches()
+ return Patterns.EMAIL_ADDRESS.matcher(target.toString()).matches()
}
//valid Name Check
- fun isValidName(nameText: String?): Boolean {
+ fun isValidName(nameText: String?): Boolean {
val pattern = Pattern.compile(("^[a-zA-Z\\s]{2,70}$"))
val matcher = pattern.matcher(nameText.toString())
return matcher.matches()
@@ -95,7 +97,7 @@ class Common {
fun removeError(textInputLayout: TextInputLayout) {
if (textInputLayout.error != null) {
textInputLayout.error = null
- if(textInputLayout.isErrorEnabled){
+ if (textInputLayout.isErrorEnabled) {
textInputLayout.isErrorEnabled = false;
}
}
@@ -127,7 +129,7 @@ class Common {
}
// set Default Step
- fun defaultShape(): GradientDrawable {
+ fun defaultShape(): GradientDrawable {
val shape = GradientDrawable()
shape.shape = GradientDrawable.OVAL
shape.setColor(Color.WHITE)
@@ -136,7 +138,7 @@ class Common {
}
// set Selected Step
- fun selectedShape(): GradientDrawable {
+ fun selectedShape(): GradientDrawable {
val shape = GradientDrawable()
shape.shape = GradientDrawable.OVAL
shape.setColor(Color.parseColor(Colors.colorDefault))
@@ -144,17 +146,17 @@ class Common {
return shape
}
- fun commonErrorMethod(
+ fun commonErrorMethod(
inputText: TextInputEditText,
inputError: TextInputLayout,
strMessage: String
): Boolean {
inputText.requestFocus()
- inputError.error = strMessage
+ inputError.error = strMessage
return false
}
- fun commonSpinnerErrorMethod(
+ fun commonErrorAutoCompleteMethod(
inputText: MaterialAutoCompleteTextView,
inputError: TextInputLayout,
strMessage: String
@@ -164,11 +166,41 @@ class Common {
return false
}
- fun getDate(string :String): String {
- val input = SimpleDateFormat("dd-MM-yyyy", Locale.US)
- val mDate : Date? = input.parse(string)
- val simpleDateFormat = SimpleDateFormat("dd MMM, yyyy", Locale.US)
+ fun commonSpinnerErrorMethod(
+ inputText: MaterialAutoCompleteTextView,
+ inputError: TextInputLayout,
+ strMessage: String
+ ): Boolean {
+ inputText.requestFocus()
+ inputError.error = strMessage
+ return false
+ }
+
+ fun getDate(string: String): String {
+ val input = SimpleDateFormat("dd/MM/yyyy", Locale.US)
+ val mDate: Date? = input.parse(string)
+ val simpleDateFormat = SimpleDateFormat("yyyy-MM-dd", Locale.US)
return simpleDateFormat.format(mDate as Date)
}
+
+ fun handleRatesResponse(response: retrofit2.Response): Resource {
+ try {
+ if (response.isSuccessful && response.body() != null) {
+ response.body()?.let { resultResponse ->
+ return Resource.Success(resultResponse)
+ }
+ }
+ } catch (t: Throwable) {
+ return when (t) {
+ is IOException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
+ is HttpException -> Resource.Error("Response : " + t.message.plus(" Cause: " + t.cause))
+ else -> Resource.Error(t.localizedMessage?.toString() ?: "")
+ }
+ }
+ return Resource.Error(response.message())
+ }
+
}
+
+
}
\ No newline at end of file
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt b/app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt
index 53c0d20..d7cc998 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/util/Constants.kt
@@ -3,7 +3,7 @@ package com.nivesh.production.bajajfd.util
class Constants() {
companion object {
- const val BASE_URL = "https://providential.in/WebApi_Bajaj/"
+ const val BASE_URL = "https://providential.in/"
const val token = "636F8F63-06C4-4D95-8562-392B34025FB0"
}
}
\ 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 cb5bdb7..e26e127 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
@@ -4,47 +4,53 @@ 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.FDStepsCountRequest
-import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.getClientDetailsRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
+import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
-import okhttp3.RequestBody
class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
- // TODO: Implement the ViewModel
- val getRatesMutableData: MutableLiveData> = MutableLiveData()
-
- fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
- getRatesMutableData.postValue(Resource.Loading())
- val response = mainRepository.getCodesResponse(requestBody, token)
- getRatesMutableData.postValue(handleRatesResponse(response))
- }
val getStepsCountMutableData: MutableLiveData> = MutableLiveData()
- fun getStepsCount(requestBody: FDStepsCountRequest, token : String) = viewModelScope.launch {
+ fun getStepsCount(requestBody: FDStepsCountRequest, token: String) = viewModelScope.launch {
getStepsCountMutableData.postValue(Resource.Loading())
val response = mainRepository.getStepsCountResponse(requestBody, token)
getStepsCountMutableData.postValue(handleRatesResponse(response))
}
val getClientDetailsMutableData: MutableLiveData> = MutableLiveData()
- fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token : String) = viewModelScope.launch {
- getClientDetailsMutableData.postValue(Resource.Loading())
- val response = mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
- getClientDetailsMutableData.postValue(handleRatesResponse(response))
- }
-
-
-
- private fun handleRatesResponse(response: retrofit2.Response): Resource {
- if (response.isSuccessful) {
- response.body()?.let { resultResponse ->
- return Resource.Success(resultResponse)
- }
+ fun getClientDetails(getClientDetailsRequest: getClientDetailsRequest, token: String) =
+ viewModelScope.launch {
+ getClientDetailsMutableData.postValue(Resource.Loading())
+ val response = mainRepository.getClientDetailsResponse(getClientDetailsRequest, token)
+ getClientDetailsMutableData.postValue(handleRatesResponse(response))
}
- return Resource.Error(response.message())
+
+ val getFDResponseMutableData: MutableLiveData> = MutableLiveData()
+ fun createFDApi(getRatesRequest: CreateFDRequest, token: String) = viewModelScope.launch {
+ getFDResponseMutableData.postValue(Resource.Loading())
+ val response = mainRepository.createFDKYCResponse(getRatesRequest, token)
+ getFDResponseMutableData.postValue(handleRatesResponse(response))
}
+// private fun handleRatesResponse(response: retrofit2.Response): Resource {
+// try {
+// if ( response.isSuccessful && response.body() != null) {
+// response.body()?.let { resultResponse ->
+// return Resource.Success(resultResponse)
+// }
+// }
+// } catch (t: Throwable) {
+// return when (t) {
+// is IOException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
+// is HttpException -> Resource.Error("Response : "+t.message.plus(" Cause: "+t.cause))
+// else -> Resource.Error(t.localizedMessage?.toString() ?: "")
+// }
+// }
+// return Resource.Error(response.message())
+// }
+
}
\ 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
index c1d13a1..e68bff9 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepFourBajajFDViewModel.kt
@@ -4,50 +4,51 @@ 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.GetFDDetailsRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
+import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepFourBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
- private val getRatesMutableData: MutableLiveData> = MutableLiveData()
-
- fun saveFDOtherData(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
- getRatesMutableData.postValue(Resource.Loading())
- val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
- getRatesMutableData.postValue(handleRatesResponse(response))
+ val getPaymentModeMutableData: MutableLiveData> = MutableLiveData()
+ fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
+ getPaymentModeMutableData.postValue(Resource.Loading())
+ val response = mainRepository.payModeCheck(getCodeRequest, token)
+ getPaymentModeMutableData.postValue(handleRatesResponse(response))
}
- private fun handleRatesResponse(response: retrofit2.Response): Resource {
- if (response.isSuccessful) {
- response.body()?.let { resultResponse ->
- return Resource.Success(resultResponse)
- }
- }
- return Resource.Error(response.message())
-
- }
-
- fun getFDDetails(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
- getRatesMutableData.postValue(Resource.Loading())
+ val getFDDetailsMutableData: MutableLiveData> = MutableLiveData()
+ fun getFDDetails(getRatesRequest: GetFDDetailsRequest, token: String) = viewModelScope.launch {
+ getFDDetailsMutableData.postValue(Resource.Loading())
val response = mainRepository.getFDDetailsResponse(getRatesRequest, token)
- getRatesMutableData.postValue(handleRatesResponse(response))
+ getFDDetailsMutableData.postValue(handleRatesResponse(response))
}
- fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
+ private val getRatesMutableData: MutableLiveData> = MutableLiveData()
+ fun saveFDOtherData(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
- val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
+ val response = mainRepository.saveFDOtherDataResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
- fun finaliseFD(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
+ fun updateFDPaymentStatus(getRatesRequest: GetRatesRequest, token: String) =
+ viewModelScope.launch {
+ getRatesMutableData.postValue(Resource.Loading())
+ val response = mainRepository.updateFDPaymentStatusResponse(getRatesRequest, token)
+ getRatesMutableData.postValue(handleRatesResponse(response))
+ }
+
+ fun finaliseFD(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseFDResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
- fun finaliseKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
+ fun finaliseKYC(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.finaliseKYCResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
diff --git a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
index 56f311d..940ab26 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepOneBajajFDViewModel.kt
@@ -4,19 +4,19 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
+import com.nivesh.production.bajajfd.model.CheckFDKYCRequest
import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetMaturityAmountRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
+import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
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() {
- // TODO: Implement the ViewModel
val getCodeMutableData: MutableLiveData> = MutableLiveData()
-
fun getCode(requestBody: GetCodeRequest, token : String) = viewModelScope.launch {
getCodeMutableData.postValue(Resource.Loading())
val response = mainRepository.getCodesResponse(requestBody, token)
@@ -51,14 +51,21 @@ class StepOneBajajFDViewModel(private val mainRepository: MainRepository) : View
getMaxAmountMutableData.postValue(handleRatesResponse(response))
}
- private fun handleRatesResponse(response: retrofit2.Response): Resource {
- if (response.isSuccessful) {
- response.body()?.let { resultResponse ->
- return Resource.Success(resultResponse)
- }
- }
- return Resource.Error(response.message())
-
+ val getFDKYCMutableData: MutableLiveData> = MutableLiveData()
+ fun checkFDKYC(requestBody: CheckFDKYCRequest, token : String) = viewModelScope.launch {
+ getFDKYCMutableData.postValue(Resource.Loading())
+ val response = mainRepository.checkFDKYCRequest(requestBody, token)
+ getFDKYCMutableData.postValue(handleRatesResponse(response))
}
+// private fun handleRatesResponse(response: retrofit2.Response): Resource {
+// if (response.isSuccessful) {
+// response.body()?.let { resultResponse ->
+// return Resource.Success(resultResponse)
+// }
+// }
+// return Resource.Error(response.message())
+//
+// }
+
}
\ 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
index 74522d4..84330b9 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepThreeBajajFDViewModel.kt
@@ -1,33 +1,30 @@
package com.nivesh.production.bajajfd.viewModel
-import androidx.lifecycle.*
+import androidx.lifecycle.MutableLiveData
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
+import com.nivesh.production.bajajfd.model.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.repositories.MainRepository
+import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepThreeBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
private val getRatesMutableData: MutableLiveData> = MutableLiveData()
-
fun documentsUpload(getRatesRequest: GetRatesRequest, token: String) = viewModelScope.launch {
getRatesMutableData.postValue(Resource.Loading())
val response = mainRepository.documentsUploadResponse(getRatesRequest, token)
getRatesMutableData.postValue(handleRatesResponse(response))
}
- private fun handleRatesResponse(response: retrofit2.Response): Resource {
- if (response.isSuccessful) {
- response.body()?.let { resultResponse ->
- return Resource.Success(resultResponse)
- }
- }
- return Resource.Error(response.message())
-
+ val getTitleMutableData: MutableLiveData> = MutableLiveData()
+ fun titleApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
+ getTitleMutableData.postValue(Resource.Loading())
+ val response = mainRepository.titleCheck(getCodeRequest, token)
+ getTitleMutableData.postValue(handleRatesResponse(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
index 185838e..a284c59 100644
--- a/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
+++ b/app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt
@@ -4,43 +4,15 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject
-import com.nivesh.production.bajajfd.model.CityRequest
-import com.nivesh.production.bajajfd.model.GetCodeRequest
-import com.nivesh.production.bajajfd.model.GetRatesRequest
-import com.nivesh.production.bajajfd.model.PanCheckRequest
+import com.nivesh.production.bajajfd.model.*
import com.nivesh.production.bajajfd.repositories.MainRepository
+import com.nivesh.production.bajajfd.util.Common.Companion.handleRatesResponse
import com.nivesh.production.bajajfd.util.Resource
import kotlinx.coroutines.launch
class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() {
- // TODO: Implement the ViewModel
- private val getRatesMutableData: MutableLiveData> = MutableLiveData()
val getPanCheckMutableData: MutableLiveData> = MutableLiveData()
-
-
- fun checkFDKYC(getRatesRequest: GetRatesRequest, token : String) = viewModelScope.launch {
- getRatesMutableData.postValue(Resource.Loading())
- val response = mainRepository.checkFDKYCResponse(getRatesRequest, token)
- getRatesMutableData.postValue(handleRatesResponse(response))
- }
-
- private fun handleRatesResponse(response: retrofit2.Response): Resource {
- if (response.isSuccessful) {
- response.body()?.let { resultResponse ->
- return Resource.Success(resultResponse)
- }
- }
- return Resource.Error(response.message())
-
- }
-
-// fun createFDApp(getRatesRequest: GetRatesRequest) = viewModelScope.launch {
-// getRatesMutableData.postValue(Resource.Loading())
-// val response = mainRepository.createFDAppResponse(getRatesRequest)
-// getRatesMutableData.postValue(handleRatesResponse(response))
-// }
-
fun panCheck(panCheck: PanCheckRequest, token: String) = viewModelScope.launch {
getPanCheckMutableData.postValue(Resource.Loading())
val response = mainRepository.panCheck(panCheck, token)
@@ -104,4 +76,32 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getCityListMutableData.postValue(handleRatesResponse(response))
}
+ val getFDBankListMutableData: MutableLiveData> = MutableLiveData()
+ fun bankListApi( token: String) = viewModelScope.launch {
+ getFDBankListMutableData.postValue(Resource.Loading())
+ val response = mainRepository.bankListCheck( token)
+ getFDBankListMutableData.postValue(handleRatesResponse(response))
+ }
+
+ val getifscCodeCheckMutableData: MutableLiveData> = MutableLiveData()
+ fun ifscCodeApi(ifsc : String) = viewModelScope.launch {
+ getifscCodeCheckMutableData.postValue(Resource.Loading())
+ val response = mainRepository.ifscCodeCheck(ifsc)
+ getifscCodeCheckMutableData.postValue(handleRatesResponse(response))
+ }
+
+ val getifscCodeDetailsCheckMutableData: MutableLiveData> = MutableLiveData()
+ fun ifscCodeDetailsApi(ifsc : String, token: String) = viewModelScope.launch {
+ getifscCodeDetailsCheckMutableData.postValue(Resource.Loading())
+ val response = mainRepository.ifscCodeDetailsCheck(ifsc, token)
+ getifscCodeDetailsCheckMutableData.postValue(handleRatesResponse(response))
+ }
+
+ val getPaymentModeMutableData: MutableLiveData> = MutableLiveData()
+ fun paymentModeApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
+ getPaymentModeMutableData.postValue(Resource.Loading())
+ val response = mainRepository.payModeCheck(getCodeRequest, token)
+ getPaymentModeMutableData.postValue(handleRatesResponse(response))
+ }
+
}
\ No newline at end of file
diff --git a/app/src/main/res/drawable/camera.png b/app/src/main/res/drawable/camera.png
new file mode 100644
index 0000000..6ea6bca
Binary files /dev/null and b/app/src/main/res/drawable/camera.png differ
diff --git a/app/src/main/res/drawable/gallery.png b/app/src/main/res/drawable/gallery.png
new file mode 100644
index 0000000..d309f3e
Binary files /dev/null and b/app/src/main/res/drawable/gallery.png differ
diff --git a/app/src/main/res/drawable/svg_camera.xml b/app/src/main/res/drawable/svg_camera.xml
new file mode 100644
index 0000000..48a8a01
--- /dev/null
+++ b/app/src/main/res/drawable/svg_camera.xml
@@ -0,0 +1,6 @@
+
+
+
+
diff --git a/app/src/main/res/drawable/svg_close.xml b/app/src/main/res/drawable/svg_close.xml
new file mode 100644
index 0000000..844b6b6
--- /dev/null
+++ b/app/src/main/res/drawable/svg_close.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/drawable/svg_image.xml b/app/src/main/res/drawable/svg_image.xml
new file mode 100644
index 0000000..3ffb603
--- /dev/null
+++ b/app/src/main/res/drawable/svg_image.xml
@@ -0,0 +1,5 @@
+
+
+
diff --git a/app/src/main/res/layout/camera_gallery_layout.xml b/app/src/main/res/layout/camera_gallery_layout.xml
new file mode 100644
index 0000000..eda34a7
--- /dev/null
+++ b/app/src/main/res/layout/camera_gallery_layout.xml
@@ -0,0 +1,71 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_bajajfd_step_four.xml b/app/src/main/res/layout/fragment_bajajfd_step_four.xml
index 22a13de..110a22a 100644
--- a/app/src/main/res/layout/fragment_bajajfd_step_four.xml
+++ b/app/src/main/res/layout/fragment_bajajfd_step_four.xml
@@ -202,82 +202,27 @@
android:text="@string/termsAndCondition"
android:textColor="@color/black"
android:textSize="@dimen/text_size_14"
- app:layout_constraintBottom_toTopOf="@+id/swDirectorBajajFinance"
+ app:layout_constraintBottom_toTopOf="@+id/llRVTerms"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/lblRateOfInterest" />
-
+ app:layout_constraintTop_toBottomOf="@+id/tvTermsCondition"
+ android:orientation="vertical">
-
+
-
-
-
-
-
-
-
+
+ app:layout_constraintTop_toBottomOf="@+id/llRVTerms" />
+ app:layout_constraintTop_toBottomOf="@+id/llRVTerms" />
diff --git a/app/src/main/res/layout/fragment_bajajfd_step_three.xml b/app/src/main/res/layout/fragment_bajajfd_step_three.xml
index d95444d..1e251d4 100644
--- a/app/src/main/res/layout/fragment_bajajfd_step_three.xml
+++ b/app/src/main/res/layout/fragment_bajajfd_step_three.xml
@@ -81,6 +81,71 @@
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent" />
+
+
+
+
+
+
+
+
+ app:layout_constraintTop_toBottomOf="@+id/btnPhotoUpload">
+ android:textSize="@dimen/text_size_14"
+ tools:layout_editor_absoluteY="230dp" />
+
+ app:layout_constraintStart_toStartOf="@+id/tvAadhaarBack"
+ app:layout_constraintTop_toTopOf="@+id/btnAadhaarFrontUpload" />
-
-
+ tools:ignore="DuplicateSpeakableTextCheck" />
+ app:layout_constraintTop_toBottomOf="@+id/btnAadhaarFrontUpload"
+ app:layout_constraintVertical_bias="0.0" />
+ app:layout_constraintBottom_toBottomOf="@+id/btnAadhaarBackUpload"
+ app:layout_constraintStart_toStartOf="parent"
+ app:layout_constraintTop_toTopOf="@+id/btnAadhaarBackUpload"
+ app:layout_constraintVertical_bias="0.406" />
-
-
-
-
-
diff --git a/app/src/main/res/layout/fragment_bajajfd_step_two.xml b/app/src/main/res/layout/fragment_bajajfd_step_two.xml
index ee55d91..314daf8 100644
--- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml
+++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml
@@ -14,9 +14,9 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="@dimen/margin_80"
- android:padding="@dimen/margin_5"
android:background="@color/NiveshColorAppBg"
android:fillViewport="true"
+ android:padding="@dimen/margin_5"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/btnNext"
app:layout_constraintEnd_toEndOf="parent"
@@ -72,8 +72,8 @@
style="@style/regularStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
- android:layout_marginTop="@dimen/margin_10"
android:layout_marginStart="@dimen/margin_10"
+ android:layout_marginTop="@dimen/margin_10"
android:layout_marginBottom="@dimen/margin_1"
android:text="@string/mandatoryField"
android:textColor="@color/greyColor2"
@@ -91,8 +91,8 @@
android:paddingStart="@dimen/margin_18"
android:paddingEnd="@dimen/margin_15"
android:text="@string/personalDetails"
- android:textSize="@dimen/text_size_14"
android:textColor="@color/black"
+ android:textSize="@dimen/text_size_14"
app:drawableEndCompat="@drawable/svg_down_arrow" />
@@ -134,11 +134,11 @@
android:id="@+id/edtDOB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:drawableEnd="@drawable/svg_cal"
- android:inputType="none"
android:focusable="false"
+ android:inputType="none"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -155,35 +155,35 @@
android:id="@+id/edtPANNumber"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="textCapCharacters"
android:maxEms="10"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
+ android:visibility="gone" />
+
+
+
+
+
@@ -234,10 +260,10 @@
android:id="@+id/edtMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -256,67 +282,22 @@
android:id="@+id/edtLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="40"
- android:textSize="@dimen/text_size_14" />
-
-
-
-
-
-
-
-
-
-
-
+
+ android:layout_margin="@dimen/margin_5"
+ app:hintEnabled="false">
+ android:textSize="@dimen/text_size_14" />
@@ -336,8 +317,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:hintEnabled="false"
- android:layout_margin="@dimen/margin_5">
+ android:layout_margin="@dimen/margin_5"
+ app:hintEnabled="false">
+ android:textSize="@dimen/text_size_14" />
@@ -364,10 +345,10 @@
android:id="@+id/edtQualification"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -376,11 +357,11 @@
android:id="@+id/tlMarital"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
- android:layout_height="@dimen/margin_48"
- android:layout_marginTop="@dimen/margin_10"
- android:layout_marginBottom="@dimen/margin_5"
+ android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
+ android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
+ android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -398,51 +379,22 @@
android:textSize="@dimen/text_size_14" />
-
-
-
-
-
-
-
-
+ android:hint="@string/enterEmailAddress">
@@ -459,10 +411,10 @@
android:id="@+id/edtAddressLine1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -479,10 +431,10 @@
android:id="@+id/edtAddressLine2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -493,16 +445,16 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="@dimen/margin_5"
- android:hint="@string/enterAddress2">
+ android:hint="@string/enterAddress3">
@@ -525,7 +477,7 @@
android:inputType="none"
android:labelFor="@+id/tlState"
android:textColorHint="#757575"
- android:textSize="@dimen/text_size_14"/>
+ android:textSize="@dimen/text_size_14" />
@@ -534,8 +486,8 @@
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- app:hintEnabled="false"
- android:layout_margin="@dimen/margin_5">
+ android:layout_margin="@dimen/margin_5"
+ app:hintEnabled="false">
+ android:textSize="@dimen/text_size_14" />
@@ -588,7 +540,6 @@
app:drawableEndCompat="@drawable/svg_down_arrow" />
-
@@ -655,10 +606,10 @@
android:id="@+id/edtNomineeMiddleName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -675,10 +626,10 @@
android:id="@+id/edtNomineeLastName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="100"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -696,10 +647,10 @@
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:drawableEnd="@drawable/svg_cal"
+ android:focusable="false"
+ android:inputType="none"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
- android:inputType="none"
- android:focusable="false"
android:textSize="@dimen/text_size_14" />
@@ -708,11 +659,11 @@
android:id="@+id/tlNomineeRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
- android:layout_height="@dimen/margin_48"
- android:layout_marginTop="@dimen/margin_10"
- android:layout_marginBottom="@dimen/margin_5"
+ android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
+ android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
+ android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -751,10 +702,10 @@
android:id="@+id/edtGuardianName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -771,10 +722,10 @@
android:id="@+id/edtGuardianAge"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -783,11 +734,11 @@
android:id="@+id/tlGuardianRelation"
style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox.ExposedDropdownMenu"
android:layout_width="match_parent"
- android:layout_height="@dimen/margin_48"
- android:layout_marginTop="@dimen/margin_10"
- android:layout_marginBottom="@dimen/margin_5"
+ android:layout_height="wrap_content"
android:layout_marginStart="@dimen/margin_5"
+ android:layout_marginTop="@dimen/margin_10"
android:layout_marginEnd="@dimen/margin_5"
+ android:layout_marginBottom="@dimen/margin_5"
app:hintEnabled="false"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
@@ -818,10 +769,10 @@
android:id="@+id/edtGuardianAddress"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="text"
android:maxEms="60"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -838,10 +789,10 @@
android:id="@+id/edtGuardianPinCode"
android:layout_width="match_parent"
android:layout_height="wrap_content"
- android:paddingTop="@dimen/margin_15"
- android:paddingBottom="@dimen/margin_15"
android:inputType="number"
android:maxEms="60"
+ android:paddingTop="@dimen/margin_15"
+ android:paddingBottom="@dimen/margin_15"
android:textSize="@dimen/text_size_14" />
@@ -862,65 +813,45 @@
android:textSize="@dimen/text_size_14"
app:drawableRightCompat="@drawable/svg_down_arrow" />
-
+
- >
+ android:layout_height="match_parent" />
+ android:textStyle="bold"
+ app:drawableEndCompat="@drawable/ic_add_icon">
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+ android:padding="@dimen/margin_10"
+ android:visibility="gone">
-
@@ -988,7 +921,7 @@
android:layout_height="wrap_content"
android:paddingTop="@dimen/margin_15"
android:paddingBottom="@dimen/margin_15"
- android:textSize="@dimen/text_size_14"/>
+ android:textSize="@dimen/text_size_14" />
@@ -1029,63 +962,89 @@
+
+
+ android:paddingEnd="@dimen/margin_15">
+ android:textSize="@dimen/text_size_14" />
-
+ android:layout_margin="@dimen/margin_5"
+ android:orientation="vertical">
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_banklist_preview.xml b/app/src/main/res/layout/item_banklist_preview.xml
deleted file mode 100644
index e60756f..0000000
--- a/app/src/main/res/layout/item_banklist_preview.xml
+++ /dev/null
@@ -1,167 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/app/src/main/res/layout/item_customer_list_preview.xml b/app/src/main/res/layout/item_customer_list_preview.xml
new file mode 100644
index 0000000..0e095ca
--- /dev/null
+++ b/app/src/main/res/layout/item_customer_list_preview.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/item_payment_list_preview.xml b/app/src/main/res/layout/item_payment_list_preview.xml
new file mode 100644
index 0000000..0e095ca
--- /dev/null
+++ b/app/src/main/res/layout/item_payment_list_preview.xml
@@ -0,0 +1,39 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/layout/layout_bank_list.xml b/app/src/main/res/layout/layout_bank_list.xml
new file mode 100644
index 0000000..8893b1a
--- /dev/null
+++ b/app/src/main/res/layout/layout_bank_list.xml
@@ -0,0 +1,54 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/row_bank_list.xml b/app/src/main/res/layout/row_bank_list.xml
new file mode 100644
index 0000000..cbcbe21
--- /dev/null
+++ b/app/src/main/res/layout/row_bank_list.xml
@@ -0,0 +1,18 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/values-hi-rIN/strings.xml b/app/src/main/res/values-hi-rIN/strings.xml
index f30b820..c5fdfa6 100644
--- a/app/src/main/res/values-hi-rIN/strings.xml
+++ b/app/src/main/res/values-hi-rIN/strings.xml
@@ -4,7 +4,6 @@
App
nivesh
-
Step 1
Step 2
Step 3
@@ -41,9 +40,10 @@
5 Years
BajajFD
InterestPayoutFreq
- EN
- Min, 12 months, Max. 60 months
-
+ en-UK-0
+ Min. 12 months, Max. 60 months
+ MINAmount
+ MAXAmount
Please enter amount
@@ -55,6 +55,7 @@
Please select Interest Payout
Please select Investment Tenure
+
All fields are mandatory other then optional
Personal Details
@@ -75,12 +76,26 @@
Enter Address Line 1
Enter Address Line 2
Enter Address Line 3
-
State
City
PinCode
Verified
Not Verified
+ Salutation
+ Gender
+ MaritalStatus
+ Occupation
+ NomineeRelationship
+ Select Income
+ Select State
+ Select City
+ AnnualIncome
+ Information
+ X
+ A/c No:
+ A/c IFSC :
+ Add
+
Nominee Details (Optional)
@@ -119,11 +134,14 @@
Mobile number should have at least 10 digits
Mobile number should start with 6,7,8 and 9
Please select date of birth
+
Please enter PAN number
Invalid PAN
+
Please select title
Please select gender
+
Please enter First Name
Please enter valid First Name
@@ -133,13 +151,17 @@
Please enter Last name
Please enter valid Last Name
+ Please enter email address
+ Please enter valid email address
+
Please select occupation
+ Please select income
+
Please select Qualification
Please select marital status
Please select relation
Please enter relation name
- Please enter email address
- Please enter valid email address
+
Please enter address 1
Please enter address 2
Please enter address 3
@@ -150,14 +172,16 @@
Please enter PinCode
Please enter valid PinCode
- Please enter valid account number
+ Please enter account number
Please enter IFSC code
Please enter valid IFSC code
- Please select bank name
Please enter branch name
+ Please select bank name
+
Please select payment mode
+
Upload KYC Documents
Address Proof Type *
@@ -166,6 +190,9 @@
PAN Upload *
Photo Upload *
Upload File
+ Photograph *
+ PAN *
+ Doctype
@@ -182,6 +209,7 @@
Are you a politically exposed person
I am not a citizen, national or tax resident of any country outside of India
I undertake to inform company any change in status of my nationality or tax residence. I am making investment from my Indian resident Individual Savings bank account. I/ We confirm that 1/we have read and understood the detailed terms and conditions annexed to this Application including the interest rate and other charges. I have gone through the financials and other statements/particulars representations furnished/made by the company and after careful consideration I am making the deposit with the company at my own risk and volition. I have read and agree to the Terms & conditions
+
Please accept terms & conditions.
@@ -209,19 +237,12 @@
Non Senior Citizen
Add New Account
-
- MINAmount
- MAXAmount
OK
Cancel
- Salutation
- Gender
- MaritalStatus
- Occupation
- NomineeRelationship
- Select Income
- Select State
- Select City
- AnnualIncome
+ Aadhar
+ Gallery
+ Camera
+ PaymentMode
+ CustomerCategory
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index df198b8..3c160f0 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -40,9 +40,10 @@
5 Years
BajajFD
InterestPayoutFreq
- EN
+ en-UK-0
Min. 12 months, Max. 60 months
-
+ MINAmount
+ MAXAmount
Please enter amount
@@ -75,12 +76,26 @@
Enter Address Line 1
Enter Address Line 2
Enter Address Line 3
-
State
City
PinCode
Verified
Not Verified
+ Salutation
+ Gender
+ MaritalStatus
+ Occupation
+ NomineeRelationship
+ Select Income
+ Select State
+ Select City
+ AnnualIncome
+ Information
+ X
+ A/c No:
+ A/c IFSC :
+ Add
+
Nominee Details (Optional)
@@ -140,6 +155,8 @@
Please enter valid email address
Please select occupation
+ Please select income
+
Please select Qualification
Please select marital status
Please select relation
@@ -173,6 +190,9 @@
PAN Upload *
Photo Upload *
Upload File
+ Photograph *
+ PAN *
+ Doctype
@@ -217,37 +237,15 @@
Non Senior Citizen
Add New Account
-
- MINAmount
- MAXAmount
OK
Cancel
- Salutation
- Gender
- MaritalStatus
- Occupation
- NomineeRelationship
- Select Income
- Select State
- Select City
- AnnualIncome
-
+ Aadhar
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+ Select Option
+ Gallery
+ Camera
+ PaymentMode
+ CustomerCategory
- Aadhaar Card
@@ -256,30 +254,4 @@
- Driving Licence
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/app/src/main/res/xml/file_paths.xml b/app/src/main/res/xml/file_paths.xml
new file mode 100644
index 0000000..92d7b3a
--- /dev/null
+++ b/app/src/main/res/xml/file_paths.xml
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file