blob: 33c357461149eab64bdda77c74cca87d54659ef7 [file] [log] [blame]
package org.apache.fineract.ui.online.customers.customerpayroll.editcustomerpayroll
import android.content.Context
import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.CompositeDisposable
import io.reactivex.observers.DisposableCompletableObserver
import io.reactivex.schedulers.Schedulers
import org.apache.fineract.R
import org.apache.fineract.data.datamanager.api.DataManagerPayroll
import org.apache.fineract.data.models.payroll.PayrollConfiguration
import org.apache.fineract.injection.ApplicationContext
import org.apache.fineract.ui.base.BasePresenter
import org.apache.fineract.ui.online.accounting.accounts.EditPayrollContract
import javax.inject.Inject
class EditPayrollPresenter @Inject constructor(@ApplicationContext context: Context,
val dataManagerPayroll: DataManagerPayroll) :
BasePresenter<EditPayrollContract.View>(context), EditPayrollContract.Presenter {
val compositeDisposable = CompositeDisposable()
override fun updatePayrollConfiguration(identifier: String,
payrollConfiguration: PayrollConfiguration) {
compositeDisposable.add(dataManagerPayroll
.editPayrollConfig(identifier, payrollConfiguration)
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribeWith(object : DisposableCompletableObserver() {
override fun onComplete() {
mvpView.updatePayrollSuccess()
}
override fun onError(e: Throwable) {
mvpView.showError(context.getString(R.string.error_updating_payroll))
}
})
)
}
}