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 71c100e..4fb702d 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 @@ -51,6 +51,10 @@ interface ApiInterface { @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 @@ -69,7 +73,7 @@ interface ApiInterface { @POST("GetCodes") suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response - @POST("GetStateMaster") + @POST("api/GetStateMaster") suspend fun stateApi( @Header("token") token: String): Response @POST("api/GetCity") diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt index 72a9bfc..c14725a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt @@ -2,7 +2,5 @@ package com.nivesh.production.bajajfd.model data class CityListResponse( val DataObject: List, - val Message: Any, - val ObjectResponse: Any, val response: ResponseXXXXXX ) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt index 8ffae60..9c20f7a 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt @@ -8,7 +8,7 @@ data class CityRequest( var RMCode: String?="", var RoleID: Int = 0, var Source: String? = "", - var StateCode: Int = 0, + var StateCode: Int? = 0, var Subbroker_Code: String? = "", var Type: String?= "", var UID: Int = 0 diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ClientDetails.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientDetails.kt new file mode 100644 index 0000000..38c73cd --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientDetails.kt @@ -0,0 +1,22 @@ +package com.nivesh.production.bajajfd.model + +data class ClientDetails( + val ARNexpiredFlag: Boolean, + val EditProfileMessage: String, + val IsPartiallyFilled: Boolean, + val KYCstatus: String, + val ProfileMessage: String, + val ProfileStatus: String, + val UnifiedMessage: String, + val appliaction1_image_name: String, + val city_of_birth: String, + val clientMasterMFD: ClientMasterMFD, + val country_of_birth: String, + val created_by: String, + val created_date: String, + val email: String, + val mobile: String, + val modified_by: String, + val modified_date: String, + val sub_broker_code: String +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ClientMasterMFD.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientMasterMFD.kt new file mode 100644 index 0000000..dfcfec8 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ClientMasterMFD.kt @@ -0,0 +1,40 @@ +package com.nivesh.production.bajajfd.model + +data class ClientMasterMFD( + val CLIENT_ACCNO1: String, + val CLIENT_ACCTYPE1: String, + val CLIENT_ADD1: String, + val CLIENT_ADD2: String, + val CLIENT_ADD3: String, + val CLIENT_APPNAME1: String, + val CLIENT_CITY: String, + val CLIENT_CODE: String, + val CLIENT_COMMMODE: String, + val CLIENT_COUNTRY: String, + val CLIENT_DIVPAYMODE: String, + val CLIENT_DOB: String, + val CLIENT_EMAIL: String, + val CLIENT_FATHER_HUSBAND_GUARDIAN: String, + val CLIENT_GENDER: String, + val CLIENT_GUARDIANPAN: String, + val CLIENT_HOLDING: String, + val CLIENT_NEFT_IFSCCODE1: String, + val CLIENT_OCCUPATION_CODE: String, + val CLIENT_PAN: String, + val CLIENT_PINCODE: String, + val CLIENT_STATE: String, + val CLIENT_TAXSTATUS: String, + val CLIENT_TYPE: String, + val CM_MOBILE: String, + val Client_Title: String, + val DEFAULT_BLANK_FLAG1: String, + val Filler1: String, + val Filler2: String, + val Filler3: Any, + val NominationAuthMode: String, + val NominationOptFlag: String, + val Nominee_Title: String, + val Nominees: List, + val ParentName: String, + val ums_id: String +) \ 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 c4a296f..499aa70 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 @@ -1,5 +1,7 @@ package com.nivesh.production.bajajfd.model +import java.io.Serializable + data class DataObject( val BSE_State_Code: String, val CAMS_statecode: String, @@ -8,4 +10,8 @@ data class DataObject( val State_Id: Int, val State_Name: String, val signzyCode: String -) \ No newline at end of file +): Serializable { + override fun toString(): String { + return State_Name + } +} \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt index 542f198..7599a9d 100644 --- a/app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt @@ -3,4 +3,8 @@ package com.nivesh.production.bajajfd.model data class DataObjectX( val city_id: Int, val city_name: String -) \ No newline at end of file +) { + override fun toString(): String { + return city_name + } +} \ 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 new file mode 100644 index 0000000..82953a8 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/DeviceInfo.kt @@ -0,0 +1,11 @@ +package com.nivesh.production.bajajfd.model + +data class DeviceInfo( + var app_version: String? = "", + var device_id: String? = "", + var device_model: String? = "", + var device_name: String? ="", + var device_os_version: String? = "", + var device_token: String? = "", + var device_type: String? = "" +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/Nominee.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/Nominee.kt new file mode 100644 index 0000000..31c1ae6 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/Nominee.kt @@ -0,0 +1,12 @@ +package com.nivesh.production.bajajfd.model + +data class Nominee( + val NomineeApplicablePercent: Double, + val NomineeDOB: String, + val NomineeGuardian: String, + val NomineeGuardianPAN: String, + val NomineeMinorFlag: String, + val NomineeName: String, + val NomineePAN: String, + val NomineeRelationship: String +) \ 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 new file mode 100644 index 0000000..fa142c3 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ObjectResponse.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class ObjectResponse( + val TransactionCount: Int, + val clientDetails: ClientDetails, + val languageid: Int, + val membersList: List +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXX.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXX.kt new file mode 100644 index 0000000..1adec00 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXXX.kt @@ -0,0 +1,7 @@ +package com.nivesh.production.bajajfd.model + +data class ResponseXXXXXXX( + 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/UserRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt new file mode 100644 index 0000000..af2dc2e --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/UserRequest.kt @@ -0,0 +1,10 @@ +package com.nivesh.production.bajajfd.model + +data class UserRequest( + var AppOrWeb: String? = "", + var IPAddress: String? = "", + var LoggedInRoleId: Int = 0, + var Source: String? = "", + var UID: String? = "", + var deviceInfo: DeviceInfo? = null +) \ No newline at end of file diff --git a/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsRequest.kt b/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsRequest.kt new file mode 100644 index 0000000..e140749 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsRequest.kt @@ -0,0 +1,8 @@ +package com.nivesh.production.bajajfd.model + +data class getClientDetailsRequest( + var AppOrWeb: String? = "", + var UserRequest: UserRequest? = null, + var client_code: String? = "", + var sub_broker_code: String? = "" +) \ 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 new file mode 100644 index 0000000..32d8762 --- /dev/null +++ b/app/src/main/java/com/nivesh/production/bajajfd/model/getClientDetailsResponse.kt @@ -0,0 +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 +) \ 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 27d34f6..8d937e4 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 @@ -12,6 +12,9 @@ class MainRepository constructor(private val apiInterface: ApiInterface) { suspend fun getStepsCountResponse(requestBody: FDStepsCountRequest , token: String) = apiInterface.getFDStepsCount(requestBody, token) + suspend fun getClientDetailsResponse(getClientDetails: getClientDetailsRequest , token: String) = + apiInterface.getClientDetails(getClientDetails, token) + suspend fun createCalculateFDMaturityAmount(requestBody: GetMaturityAmountRequest, token: String) = apiInterface.getCalculateFDMaturityAmount(requestBody, token) 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 6e6a0ae..02b8634 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 @@ -33,25 +33,22 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { lateinit var stepFourBajajFDViewModel: StepFourBajajFDViewModel lateinit var stepFiveBajajFDViewModel: StepFiveBajajFDViewModel - lateinit var createFDRequest: CreateFDRequest - lateinit var createFDApplicantRequest: CreateFDApplicationRequest - lateinit var applicantDetails: ApplicantDetails - lateinit var fdInvestmentDetails: FDInvestmentDetails - lateinit var applicantRelationDetails: ApplicantRelationDetails - lateinit var fdBankDetails: FdBankDetails - lateinit var nomineeDetails: NomineeDetails - lateinit var nomineeGuardianDetails: NomineeGuardianDetails + var createFDRequest: CreateFDRequest + var createFDApplicantRequest: CreateFDApplicationRequest + var applicantDetails: ApplicantDetails + var fdInvestmentDetails: FDInvestmentDetails + var applicantRelationDetails: ApplicantRelationDetails + var fdBankDetails: FdBankDetails + var nomineeDetails: NomineeDetails + var nomineeGuardianDetails: NomineeGuardianDetails + var getClientDetailsResponse : getClientDetailsResponse override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) init() } - - private fun init() { - - binding = ActivityBajajFdBinding.inflate(layoutInflater) - setContentView(binding.root) - + init { + getClientDetailsResponse = getClientDetailsResponse() createFDRequest = CreateFDRequest() createFDApplicantRequest = CreateFDApplicationRequest() @@ -61,6 +58,23 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { fdBankDetails = FdBankDetails() nomineeDetails = NomineeDetails() nomineeGuardianDetails = NomineeGuardianDetails() + } + + private fun init() { + + 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] @@ -93,7 +107,8 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { stepsCountResponse.Response.StatusCode.let { code -> when (code) { 200 -> { - setViewPager(stepsCountResponse.Response.StepsCount) + getClientDetailsApi(stepsCountResponse.Response.StepsCount) + // setViewPager(stepsCountResponse.Response.StepsCount) } // 650 -> refreshToken() else -> {} @@ -113,6 +128,61 @@ class BajajFdMainActivity : AppCompatActivity(), BajajFDInterface { } } + private fun getClientDetailsApi(stepsCount: Int) { + if (Common.isNetworkAvailable(this@BajajFdMainActivity)){ + val getClientDetailsRequest = getClientDetailsRequest() + getClientDetailsRequest.client_code = "8872" + getClientDetailsRequest.AppOrWeb = "App" + getClientDetailsRequest.sub_broker_code = "1014" + + val userRequest = UserRequest() + userRequest.UID = "19060" + userRequest.IPAddress = "" + userRequest.Source = "Nivesh" + userRequest.AppOrWeb = "App" + userRequest.LoggedInRoleId = 5 + + val deviceInfo = DeviceInfo() + deviceInfo.device_id = "" + deviceInfo.device_model = "" + deviceInfo.device_token = "" + deviceInfo.device_name = "" + deviceInfo.app_version = "2.44.13" + deviceInfo.device_os_version = "Android 11" + userRequest.deviceInfo = deviceInfo + getClientDetailsRequest.UserRequest = userRequest + 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.response?.status_code.let { code -> + when (code) { + 200 -> { + setViewPager(stepsCount) + } + // 650 -> refreshToken() + else -> {} + } + } + } + + is Resource.Error -> { + response.message?.let { message -> + Log.e(" ", "An error occurred:$message") + } + } + is Resource.Loading -> { + + } + } + } + } + } + private fun setViewPager(stepsCount: Int) { // steps setting 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 e4db4bf..7387d34 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 @@ -160,6 +160,7 @@ class StepOneBajajFDFragment : Fragment() { (activity as BajajFdMainActivity).fdInvestmentDetails.CustomerType = "" (activity as BajajFdMainActivity).fdInvestmentDetails.CKYCNumber = "" + (activity as BajajFdMainActivity).createFDApplicantRequest.FDInvestmentDetails bajajFDInterface.stepOneApi("stepOneResponse") } } 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 4c29f15..cd52350 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,10 +1,12 @@ package com.nivesh.production.bajajfd.ui.fragment +import android.app.DatePickerDialog import android.os.Bundle import android.text.Editable import android.text.InputFilter import android.text.InputFilter.LengthFilter import android.text.TextWatcher +import android.transition.Fade.IN import android.util.Log import android.view.LayoutInflater import android.view.View @@ -13,6 +15,7 @@ import android.widget.ArrayAdapter import android.widget.RadioButton import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import com.google.android.material.textfield.TextInputEditText import com.google.gson.Gson import com.nivesh.production.bajajfd.R import com.nivesh.production.bajajfd.databinding.FragmentBajajfdStepTwoBinding @@ -22,6 +25,7 @@ import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity import com.nivesh.production.bajajfd.util.Common 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 import com.nivesh.production.bajajfd.util.Common.Companion.isIndianMobileNo import com.nivesh.production.bajajfd.util.Common.Companion.isValidEmail import com.nivesh.production.bajajfd.util.Common.Companion.isValidName @@ -30,6 +34,8 @@ import com.nivesh.production.bajajfd.util.Common.Companion.removeError import com.nivesh.production.bajajfd.util.Constants.Companion.token import com.nivesh.production.bajajfd.util.Resource import com.nivesh.production.bajajfd.viewModel.StepTwoBajajFDViewModel +import java.text.SimpleDateFormat +import java.util.* class StepTwoBajajFDFragment : Fragment() { @@ -40,6 +46,7 @@ class StepTwoBajajFDFragment : Fragment() { private lateinit var bajajFDInterface: BajajFDInterface private lateinit var rbBank: RadioButton private lateinit var rbPaymentMode: RadioButton + private var cal = Calendar.getInstance() private lateinit var listOfTitle: List private lateinit var listOfGender: List @@ -98,9 +105,16 @@ class StepTwoBajajFDFragment : Fragment() { removeError(binding.tlMobileNumber) } }) + + // create an OnDateSetListener + binding.edtDOB.setOnClickListener { removeError(binding.tlDOB) + datePicker(binding.edtDOB) + } + + binding.edtPANNumber.addTextChangedListener(object : TextWatcher { override fun afterTextChanged(s: Editable?) { @@ -305,6 +319,7 @@ class StepTwoBajajFDFragment : Fragment() { }) binding.edtNomineeDOB.setOnClickListener { removeError(binding.tlNomineeDOB) + datePicker(binding.edtNomineeDOB) } binding.spNomineeRelation.setOnItemClickListener { _, _, _, _ -> removeError(binding.tlNomineeRelation) @@ -483,7 +498,8 @@ class StepTwoBajajFDFragment : Fragment() { binding.edtAddressLine1.text.toString() (activity as BajajFdMainActivity).applicantDetails.ApplicantAddress2 = binding.edtAddressLine2.text.toString() - (activity as BajajFdMainActivity).applicantDetails.ApplicantAddress3 = binding.edtAddressLine3.text.toString() + (activity as BajajFdMainActivity).applicantDetails.ApplicantAddress3 = + binding.edtAddressLine3.text.toString() (activity as BajajFdMainActivity).applicantDetails.ApplicantCity = binding.spCity.text.toString() (activity as BajajFdMainActivity).applicantDetails.ApplicantState = @@ -559,6 +575,13 @@ class StepTwoBajajFDFragment : Fragment() { (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 + + Log.e("CreateFDRequest","-->"+Gson().toJson((activity as BajajFdMainActivity).createFDApplicantRequest)) bajajFDInterface.stepTwoApi("stepTwoResponse") } } @@ -570,6 +593,26 @@ class StepTwoBajajFDFragment : Fragment() { return root } + 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 -> + if (monthOfYear.toString().length == 1){ + "0".plus(monthOfYear) + } + edtDOB.setText(getDate(dayOfMonth.toString() +"-" + (monthOfYear + 1) +"-" + year)) + }, year, month, day + ) + datePickerDialog.datePicker.maxDate = cal.timeInMillis + val c = Calendar.getInstance() + c.add(Calendar.YEAR, -140) + datePickerDialog.datePicker.minDate = c.timeInMillis + datePickerDialog.show() + } + + private fun panCheckApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val panCheck = PanCheckRequest() @@ -628,6 +671,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun titleApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -691,6 +735,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun genderApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -742,6 +787,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun relationShipApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -805,6 +851,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun maritalStatusApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -856,6 +903,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun occupationApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -907,6 +955,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun annualIncomeApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { val getCodeRequest = GetCodeRequest() @@ -958,6 +1007,7 @@ class StepTwoBajajFDFragment : Fragment() { } } + private fun stateListApi() { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { stepTwoBajajFDViewModel.stateApi(token) @@ -966,7 +1016,10 @@ class StepTwoBajajFDFragment : Fragment() { is Resource.Success -> { Log.e("response", "-->$response") val stateListResponse: StateListResponse = - Gson().fromJson(response.data?.toString(), StateListResponse::class.java) + Gson().fromJson( + response.data?.toString(), + StateListResponse::class.java + ) stateListResponse.response.status_code.let { code -> when (code) { 200 -> { @@ -982,7 +1035,7 @@ class StepTwoBajajFDFragment : Fragment() { adapter.getItem(0)?.State_Name, false ) - cityListApi(adapter.getItem(0)?.State_Code) + cityListApi(adapter.getItem(0)?.State_Id) } } // 650 -> refreshToken() @@ -1004,12 +1057,11 @@ class StepTwoBajajFDFragment : Fragment() { } } - private fun cityListApi(stateCode: String?) { + + private fun cityListApi(stateCode: Int?) { val cityRequest = CityRequest() - if (stateCode != null) { - cityRequest.StateCode = stateCode.toInt() - } + cityRequest.StateCode = stateCode cityRequest.Type = "" cityRequest.ClientCode = "8872" cityRequest.RoleID = 5 @@ -1037,8 +1089,8 @@ class StepTwoBajajFDFragment : Fragment() { R.layout.spinner_dropdown, listOfCities ) - binding.spIncome.setAdapter(adapter) - binding.spIncome.setText( + binding.spCity.setAdapter(adapter) + binding.spCity.setText( adapter.getItem(0)?.city_name, false ) @@ -1091,7 +1143,7 @@ class StepTwoBajajFDFragment : Fragment() { binding.tlPanNumber, getString(R.string.emptyPAN) ) - } else if (isValidPan(binding.edtPANNumber.text.toString())) { // EditText + } else if (!isValidPan(binding.edtPANNumber.text.toString())) { // EditText commonErrorMethod( binding.edtPANNumber, binding.tlPanNumber, @@ -1109,7 +1161,7 @@ class StepTwoBajajFDFragment : Fragment() { binding.tlFirstName, getString(R.string.emptyFirstName) ) - } else if (isValidName(binding.edtFirstName.text.toString())) { // EditText + } else if (!isValidName(binding.edtFirstName.text.toString())) { // EditText commonErrorMethod( binding.edtFirstName, binding.tlFirstName, @@ -1121,7 +1173,7 @@ class StepTwoBajajFDFragment : Fragment() { binding.tlMiddleName, getString(R.string.emptyMiddleName) ) - } else if (isValidName(binding.edtMiddleName.text.toString())) { // EditText + } else if (!isValidName(binding.edtMiddleName.text.toString())) { // EditText commonErrorMethod( binding.edtMiddleName, binding.tlMiddleName, @@ -1133,7 +1185,7 @@ class StepTwoBajajFDFragment : Fragment() { binding.tlLastName, getString(R.string.emptyLastName) ) - } else if (isValidName(binding.edtLastName.text.toString())) { // EditText + } else if (!isValidName(binding.edtLastName.text.toString())) { // EditText commonErrorMethod( binding.edtLastName, binding.tlLastName, @@ -1191,14 +1243,18 @@ class StepTwoBajajFDFragment : Fragment() { binding.tlAddressLine2, getString(R.string.emptyAddressLine2) ) - }else if (binding.edtAddressLine3.text.toString().isEmpty()) { // EditText + } else if (binding.edtAddressLine3.text.toString().isEmpty()) { // EditText commonErrorMethod( binding.edtAddressLine3, binding.tlAddressLine3, getString(R.string.emptyAddressLine3) ) } else if (binding.spState.text.toString().isEmpty()) { // EditText - commonSpinnerErrorMethod(binding.spState, binding.tlState, getString(R.string.emptyState)) + commonSpinnerErrorMethod( + binding.spState, + binding.tlState, + getString(R.string.emptyState) + ) } else if (binding.spCity.text.toString().isEmpty()) { // EditText commonSpinnerErrorMethod(binding.spCity, binding.tlCity, getString(R.string.emptyCity)) } else if (binding.edtPinCode.text.toString().isEmpty()) { // EditText @@ -1244,4 +1300,6 @@ class StepTwoBajajFDFragment : Fragment() { super.onDestroyView() _binding = null } -} \ No newline at end of file +} + + 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 500ca87..1c91da4 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,5 +1,6 @@ package com.nivesh.production.bajajfd.util +import android.annotation.SuppressLint import android.app.Activity import android.app.AlertDialog import android.content.Context @@ -13,9 +14,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.nivesh.production.bajajfd.BajajApplication import com.nivesh.production.bajajfd.R -import com.nivesh.production.bajajfd.ui.activity.BajajFdMainActivity +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 @@ -161,5 +164,11 @@ 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) + return simpleDateFormat.format(mDate as Date) + } } } \ 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 c1f38a1..cb5bdb7 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 @@ -6,6 +6,7 @@ import androidx.lifecycle.viewModelScope import com.google.gson.JsonObject 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.Resource import kotlinx.coroutines.launch @@ -28,6 +29,13 @@ class BajajFDViewModel(private val mainRepository: MainRepository) : ViewModel() 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 { 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 5b62d5a..6e5744d 100644 --- a/app/src/main/res/layout/fragment_bajajfd_step_two.xml +++ b/app/src/main/res/layout/fragment_bajajfd_step_two.xml @@ -137,7 +137,8 @@ android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" android:drawableEnd="@drawable/svg_cal" - android:inputType="date" + android:inputType="none" + android:focusable="false" android:textSize="@dimen/text_size_14" /> @@ -156,6 +157,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" + android:inputType="textCapCharacters" android:maxEms="10" android:textSize="@dimen/text_size_14" /> @@ -563,7 +565,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" - android:inputType="text" + android:inputType="number" android:textSize="@dimen/text_size_14" android:maxEms="6" /> @@ -696,7 +698,8 @@ android:drawableEnd="@drawable/svg_cal" android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" - android:inputType="date" + android:inputType="none" + android:focusable="false" android:textSize="@dimen/text_size_14" /> @@ -837,7 +840,7 @@ android:layout_height="wrap_content" android:paddingTop="@dimen/margin_15" android:paddingBottom="@dimen/margin_15" - android:inputType="text" + android:inputType="number" android:maxEms="60" android:textSize="@dimen/text_size_14" />