Browse Source

working on datepicker

PankajBranch
Hemant Khadase 2 years ago
parent
commit
9e3fa684e6
11 changed files with 209 additions and 12 deletions
  1. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt
  2. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt
  3. +15
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt
  4. +11
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt
  5. +6
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt
  6. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXX.kt
  7. +7
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXX.kt
  8. +8
    -0
      app/src/main/java/com/nivesh/production/bajajfd/model/StateListResponse.kt
  9. +5
    -0
      app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt
  10. +116
    -9
      app/src/main/java/com/nivesh/production/bajajfd/ui/fragment/StepTwoBajajFDFragment.kt
  11. +19
    -3
      app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/interfaces/ApiInterface.kt View File

@ -69,4 +69,11 @@ interface ApiInterface {
@POST("GetCodes") @POST("GetCodes")
suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject> suspend fun occupationApi(@Body getCodeRequest: GetCodeRequest, @Header("token") token: String): Response<JsonObject>
@POST("GetStateMaster")
suspend fun stateApi( @Header("token") token: String): Response<JsonObject>
@POST("api/GetCity")
suspend fun cityApi(@Body cityRequest: CityRequest, @Header("token") token: String): Response<JsonObject>
} }

+ 8
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/CityListResponse.kt View File

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class CityListResponse(
val DataObject: List<DataObjectX>,
val Message: Any,
val ObjectResponse: Any,
val response: ResponseXXXXXX
)

+ 15
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/CityRequest.kt View File

@ -0,0 +1,15 @@
package com.nivesh.production.bajajfd.model
data class CityRequest(
var APIName: String? = "",
var APP_Web: String?="",
var ClientCode: String?="",
var HOCode: String?="",
var RMCode: String?="",
var RoleID: Int = 0,
var Source: String? = "",
var StateCode: Int = 0,
var Subbroker_Code: String? = "",
var Type: String?= "",
var UID: Int = 0
)

+ 11
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/DataObject.kt View File

@ -0,0 +1,11 @@
package com.nivesh.production.bajajfd.model
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
)

+ 6
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/DataObjectX.kt View File

@ -0,0 +1,6 @@
package com.nivesh.production.bajajfd.model
data class DataObjectX(
val city_id: Int,
val city_name: String
)

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXX.kt View File

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXX(
val message: String,
val status: String,
val status_code: Int
)

+ 7
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/ResponseXXXXXX.kt View File

@ -0,0 +1,7 @@
package com.nivesh.production.bajajfd.model
data class ResponseXXXXXX(
val message: String,
val status: String,
val status_code: Int
)

+ 8
- 0
app/src/main/java/com/nivesh/production/bajajfd/model/StateListResponse.kt View File

@ -0,0 +1,8 @@
package com.nivesh.production.bajajfd.model
data class StateListResponse(
val DataObject: List<DataObject>,
val Message: Any,
val ObjectResponse: Any,
val response: ResponseXXXXX
)

+ 5
- 0
app/src/main/java/com/nivesh/production/bajajfd/repositories/MainRepository.kt View File

@ -60,4 +60,9 @@ class MainRepository constructor(private val apiInterface: ApiInterface) {
suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) = suspend fun occupationCheck(getCodeRequest: GetCodeRequest, token: String) =
apiInterface.occupationApi(getCodeRequest, token) apiInterface.occupationApi(getCodeRequest, token)
suspend fun stateCheck( token: String) =
apiInterface.stateApi( token)
suspend fun cityCheck(cityRequest: CityRequest, token: String) =
apiInterface.cityApi(cityRequest, token)
} }

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

@ -47,6 +47,8 @@ class StepTwoBajajFDFragment : Fragment() {
private lateinit var listOfRelationShip: List<GetCodes> private lateinit var listOfRelationShip: List<GetCodes>
private lateinit var listOfMaritalStatus: List<GetCodes> private lateinit var listOfMaritalStatus: List<GetCodes>
private lateinit var listOfOccupation: List<GetCodes> private lateinit var listOfOccupation: List<GetCodes>
private lateinit var listOfStates: List<DataObject>
private lateinit var listOfCities: List<DataObjectX>
private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel private lateinit var stepTwoBajajFDViewModel: StepTwoBajajFDViewModel
@ -77,7 +79,7 @@ class StepTwoBajajFDFragment : Fragment() {
listOfRelationShip = ArrayList() listOfRelationShip = ArrayList()
listOfMaritalStatus = ArrayList() listOfMaritalStatus = ArrayList()
listOfOccupation = ArrayList() listOfOccupation = ArrayList()
listOfStates = ArrayList()
// Personal Details // Personal Details
binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10)) binding.edtMobileNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
binding.edtPANNumber.filters = arrayOf<InputFilter>(LengthFilter(10)) binding.edtPANNumber.filters = arrayOf<InputFilter>(LengthFilter(10))
@ -450,11 +452,6 @@ class StepTwoBajajFDFragment : Fragment() {
} }
titleApi() titleApi()
genderApi()
relationShipApi()
maritalStatusApi()
occupationApi()
annualIncomeApi()
binding.btnNext.setOnClickListener { binding.btnNext.setOnClickListener {
if (validation()) { if (validation()) {
// Applicant Details // Applicant Details
@ -631,7 +628,6 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
private fun titleApi() { private fun titleApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) { if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
val getCodeRequest = GetCodeRequest() val getCodeRequest = GetCodeRequest()
@ -668,6 +664,13 @@ class StepTwoBajajFDFragment : Fragment() {
false false
) )
} }
genderApi()
relationShipApi()
maritalStatusApi()
occupationApi()
annualIncomeApi()
stateListApi()
} }
// 650 -> refreshToken() // 650 -> refreshToken()
else -> {} else -> {}
@ -747,7 +750,7 @@ class StepTwoBajajFDFragment : Fragment() {
getCodeRequest.Language = getString(R.string.language) getCodeRequest.Language = getString(R.string.language)
getCodeRequest.InputValue = "" getCodeRequest.InputValue = ""
stepTwoBajajFDViewModel.relationShipApi(getCodeRequest, token) stepTwoBajajFDViewModel.relationShipApi(getCodeRequest, token)
stepTwoBajajFDViewModel.getrelationShipMutableData.observe(viewLifecycleOwner) { response ->
stepTwoBajajFDViewModel.getRelationShipMutableData.observe(viewLifecycleOwner) { response ->
when (response) { when (response) {
is Resource.Success -> { is Resource.Success -> {
Log.e("response", "-->$response") Log.e("response", "-->$response")
@ -922,7 +925,7 @@ class StepTwoBajajFDFragment : Fragment() {
when (code) { when (code) {
200 -> { 200 -> {
listOfAnnualIncome = getCodeResponse.Response.GetCodesList listOfAnnualIncome = getCodeResponse.Response.GetCodesList
if (listOfGender.isNotEmpty()) {
if (listOfAnnualIncome.isNotEmpty()) {
val adapter = ArrayAdapter( val adapter = ArrayAdapter(
activity as BajajFdMainActivity, activity as BajajFdMainActivity,
R.layout.spinner_dropdown, R.layout.spinner_dropdown,
@ -955,6 +958,110 @@ class StepTwoBajajFDFragment : Fragment() {
} }
} }
private fun stateListApi() {
if (Common.isNetworkAvailable(activity as BajajFdMainActivity)) {
stepTwoBajajFDViewModel.stateApi(token)
stepTwoBajajFDViewModel.getStateMasterMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val stateListResponse: StateListResponse =
Gson().fromJson(response.data?.toString(), StateListResponse::class.java)
stateListResponse.response.status_code.let { code ->
when (code) {
200 -> {
listOfStates = stateListResponse.DataObject
if (listOfStates.isNotEmpty()) {
val adapter = ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfStates
)
binding.spState.setAdapter(adapter)
binding.spState.setText(
adapter.getItem(0)?.State_Name,
false
)
cityListApi(adapter.getItem(0)?.State_Code)
}
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
}
private fun cityListApi(stateCode: String?) {
val cityRequest = CityRequest()
if (stateCode != null) {
cityRequest.StateCode = stateCode.toInt()
}
cityRequest.Type = ""
cityRequest.ClientCode = "8872"
cityRequest.RoleID = 5
cityRequest.APIName = ""
cityRequest.UID = 19060
cityRequest.Subbroker_Code = "1014"
cityRequest.RMCode = ""
cityRequest.HOCode = ""
cityRequest.Source = "Nivesh"
cityRequest.APP_Web = "App"
stepTwoBajajFDViewModel.cityListApi(cityRequest, token)
stepTwoBajajFDViewModel.getCityListMutableData.observe(viewLifecycleOwner) { response ->
when (response) {
is Resource.Success -> {
Log.e("response", "-->$response")
val cityListResponse: CityListResponse =
Gson().fromJson(response.data?.toString(), CityListResponse::class.java)
cityListResponse.response.status_code.let { code ->
when (code) {
200 -> {
listOfCities = cityListResponse.DataObject
if (listOfCities.isNotEmpty()) {
val adapter = ArrayAdapter(
activity as BajajFdMainActivity,
R.layout.spinner_dropdown,
listOfCities
)
binding.spIncome.setAdapter(adapter)
binding.spIncome.setText(
adapter.getItem(0)?.city_name,
false
)
}
}
// 650 -> refreshToken()
else -> {}
}
}
}
is Resource.Error -> {
response.message?.let { message ->
Log.e(" ", "An error occurred:$message")
}
}
is Resource.Loading -> {
}
}
}
}
// validations // validations
private fun validation(): Boolean { private fun validation(): Boolean {


+ 19
- 3
app/src/main/java/com/nivesh/production/bajajfd/viewModel/StepTwoBajajFDViewModel.kt View File

@ -4,6 +4,7 @@ import androidx.lifecycle.MutableLiveData
import androidx.lifecycle.ViewModel import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope import androidx.lifecycle.viewModelScope
import com.google.gson.JsonObject 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.GetCodeRequest
import com.nivesh.production.bajajfd.model.GetRatesRequest import com.nivesh.production.bajajfd.model.GetRatesRequest
import com.nivesh.production.bajajfd.model.PanCheckRequest import com.nivesh.production.bajajfd.model.PanCheckRequest
@ -67,11 +68,11 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getAnnualIncomeMutableData.postValue(handleRatesResponse(response)) getAnnualIncomeMutableData.postValue(handleRatesResponse(response))
} }
val getrelationShipMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
val getRelationShipMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun relationShipApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch { fun relationShipApi(getCodeRequest: GetCodeRequest, token: String) = viewModelScope.launch {
getrelationShipMutableData.postValue(Resource.Loading())
getRelationShipMutableData.postValue(Resource.Loading())
val response = mainRepository.relationShipCheck(getCodeRequest, token) val response = mainRepository.relationShipCheck(getCodeRequest, token)
getrelationShipMutableData.postValue(handleRatesResponse(response))
getRelationShipMutableData.postValue(handleRatesResponse(response))
} }
val getMaritalStatusMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData() val getMaritalStatusMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
@ -88,4 +89,19 @@ class StepTwoBajajFDViewModel(private val mainRepository: MainRepository) : View
getOccupationMutableData.postValue(handleRatesResponse(response)) getOccupationMutableData.postValue(handleRatesResponse(response))
} }
val getStateMasterMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun stateApi(token: String) = viewModelScope.launch {
getStateMasterMutableData.postValue(Resource.Loading())
val response = mainRepository.stateCheck( token)
getStateMasterMutableData.postValue(handleRatesResponse(response))
}
val getCityListMutableData: MutableLiveData<Resource<JsonObject>> = MutableLiveData()
fun cityListApi(cityRequest: CityRequest, token: String) = viewModelScope.launch {
getCityListMutableData.postValue(Resource.Loading())
val response = mainRepository.cityCheck(cityRequest, token)
getCityListMutableData.postValue(handleRatesResponse(response))
}
} }

Loading…
Cancel
Save

Powered by TurnKey Linux.