package cn.flightfeather.thirdappmodule.module.task
|
|
import android.arch.lifecycle.MutableLiveData
|
import cn.flightfeather.thirdappmodule.bean.entity.*
|
import cn.flightfeather.thirdappmodule.common.net.ResultCallBack
|
import cn.flightfeather.thirdappmodule.model.event.SceneEvent
|
import cn.flightfeather.thirdappmodule.module.base.BaseViewModel
|
import cn.flightfeather.thirdappmodule.repository.SceneRepository
|
import okhttp3.ResponseBody
|
import org.greenrobot.eventbus.EventBus
|
import org.jetbrains.anko.toast
|
|
/**
|
* @author riku
|
* Date: 2019/8/7
|
*/
|
class SceneDetailViewModel : BaseViewModel() {
|
private val sceneRepository = SceneRepository()
|
|
val allProvinceList = ArrayList<Province>()
|
val allCityList = ArrayList<City>()
|
val allDistrictList = ArrayList<District>()
|
val allTownList = ArrayList<Town>()
|
|
val provinceList = MutableLiveData<ArrayList<Province>>().apply { value = ArrayList() }
|
val cityList = ArrayList<City>()
|
val districtList = ArrayList<District>()
|
val townList = ArrayList<Town>()
|
|
val allSceneTypeList = MutableLiveData<ArrayList<Domainitem>>().apply { value = ArrayList() }
|
|
fun getData() {
|
sceneRepository.getDivision(object : ResultCallBack<Division> {
|
override fun onSuccess(result: Division?) {
|
result?.let {
|
allProvinceList.clear()
|
allCityList.clear()
|
allDistrictList.clear()
|
allTownList.clear()
|
|
allProvinceList.addAll(it.provinceList)
|
allCityList.addAll(it.cityList)
|
allDistrictList.addAll(it.districtList)
|
allTownList.addAll(it.townList)
|
|
provinceList.value?.addAll(allProvinceList)
|
provinceList.value = provinceList.value
|
}
|
}
|
|
override fun onFailure() {
|
|
}
|
|
})
|
}
|
|
fun getSceneType() {
|
sceneRepository.getSceneType(object : ResultCallBack<ArrayList<Domainitem>> {
|
override fun onSuccess(result: ArrayList<Domainitem>?) {
|
result?.let {
|
allSceneTypeList.value?.apply {
|
clear()
|
addAll(it)
|
}
|
allSceneTypeList.value = allSceneTypeList.value
|
}
|
}
|
|
override fun onFailure() {
|
|
}
|
|
})
|
}
|
|
fun putScene(scene: Scense?) {
|
scene?.let {
|
sceneRepository.putScene(it, object : ResultCallBack<ResponseBody> {
|
override fun onSuccess(result: ResponseBody?) {
|
application.toast("场景上传成功")
|
|
EventBus.getDefault().post(SceneEvent(it))
|
}
|
|
override fun onFailure() {
|
application.toast("场景上传失败")
|
}
|
|
})
|
}
|
}
|
|
fun updateScene(scene: Scense?) {
|
scene?.let {
|
sceneRepository.updateScene(it, object : ResultCallBack<ResponseBody> {
|
override fun onSuccess(result: ResponseBody?) {
|
application.toast("场景修改成功")
|
|
EventBus.getDefault().post(SceneEvent(it))
|
}
|
|
override fun onFailure() {
|
application.toast("场景修改失败")
|
}
|
|
})
|
}
|
}
|
}
|
|
data class Division(
|
val provinceList: ArrayList<Province>,
|
val cityList: ArrayList<City>,
|
val districtList: ArrayList<District>,
|
val townList: ArrayList<Town>
|
)
|