package es.verdnatura.presentation.view.feature.claim.fragment


import android.content.Context
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
import es.verdnatura.domain.SilexCallback
import es.verdnatura.presentation.base.BaseViewModel
import es.verdnatura.presentation.base.getMessageFromAllResponse
import es.verdnatura.presentation.base.nameofFunction
import es.verdnatura.presentation.common.ResponseItemVO
import retrofit2.Response

class ClaimViewModel(val context: Context) : BaseViewModel(context) {

    //private val GetClaimUserCase: GetClaimUserCase = GetClaimUserCase(context)

    private val _responseadd by lazy { MutableLiveData<ResponseItemVO>() }
    val responseadd: LiveData<ResponseItemVO>
        get() = _responseadd


    fun itemShelving_addByClaim(claimFK: Int, shelvingFK: String) {
        silex.itemShelving_addByClaim(claimFK, shelvingFK)
            .enqueue(object : SilexCallback<Unit>(context) {
                override fun onError(t: Throwable) {
                    _responseadd.value = ResponseItemVO(
                        isError = true, errorMessage = getMessageFromAllResponse(
                            nameofFunction(this), t.message!!
                        )
                    )
                }

                override fun onSuccess(response: Response<Unit>) {
                    _responseadd.value = ResponseItemVO(
                        isError = false,
                        errorMessage = getMessageFromAllResponse(
                            nameofFunction(this),
                            response.message()
                        )
                    )

                }


            })
    }

}
