/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package id.amigogroup.posterminal.api; import id.amigogroup.posterminal.model.Barang; import id.amigogroup.posterminal.model.DNotaTunai; import id.amigogroup.posterminal.model.Karyawan; import id.amigogroup.posterminal.model.Pagination; import id.amigogroup.posterminal.model.MNotaRetur; import id.amigogroup.posterminal.model.MNotaTunai; import id.amigogroup.posterminal.model.NoBarang; import id.amigogroup.posterminal.model.Pelanggan; import id.amigogroup.posterminal.model.Tas; import id.amigogroup.posterminal.util.AlertUtil; import io.reactivex.Observable; import io.reactivex.schedulers.Schedulers; import java.net.SocketException; import java.net.SocketTimeoutException; import java.net.UnknownHostException; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; import javafx.application.Platform; import javafx.scene.control.Alert; import javafx.stage.Window; import okhttp3.ResponseBody; /** * * @author ronal */ public class AmigoPosRx { //Barang API public Observable getBarangByKodeBarang(String kodeBarang) { return UtilsApi.getServiceApiBarang().getBarangByKodeBarang(kodeBarang) .subscribeOn(Schedulers.trampoline()); } public Observable> getBarangByNamaBarang(String namaBarang) { return UtilsApi.getServiceApiBarang().getBarangByNamaBarang(namaBarang) .subscribeOn(Schedulers.io()); } public Observable> getNoBarangByIdGabunganSortNomor(String idGabungan) { return UtilsApi.getServiceApiBarang().getByIdGabunganSortNomor(idGabungan) .subscribeOn(Schedulers.trampoline()); } public Observable getNoBarangByIdGabunganNomor(String idGabungan, String nomor) { return UtilsApi.getServiceApiBarang().getByIdGabunganNomor(idGabungan, nomor) .subscribeOn(Schedulers.io()); } public Observable getMNotaTunaiByNoNota(String noNota) { return UtilsApi.getServiceApiBarang().getMNotaTunaiByNoNota(noNota) .subscribeOn(Schedulers.trampoline()); } public Observable validasiMNotaTunaiByNoNotaTanggal(String noNota) { return UtilsApi.getServiceApiBarang().validasiMNotaTunaiByNoNotaTanggal(noNota) .subscribeOn(Schedulers.trampoline()); } public Observable> getDNotaTunaiByNoNota(String noNota) { return UtilsApi.getServiceApiBarang().getDNotaTunaiByNoNota(noNota) .subscribeOn(Schedulers.io()); } public Observable getMNotaReturByNoNota(String noNota) { return UtilsApi.getServiceApiBarang().getMNotaReturByNoNota(noNota) .subscribeOn(Schedulers.trampoline()); } //Checkin API public Observable> getAllTas() { return UtilsApi.getServiceApiCheckin().getAllTas(); } //Karyawan API public Observable getKaryawanByNik(String nik) { return UtilsApi.getServiceApiKaryawan().getKaryawanByNik(nik) .subscribeOn(Schedulers.trampoline()); } //Pelanggan API public Observable getPelangganByKodeMember(String kodeMember) { return UtilsApi.getServiceApiPelanggan().getPelangganByKodeMember(kodeMember) .subscribeOn(Schedulers.trampoline()); } public Observable> getPelangganByNama(String nama) { return UtilsApi.getServiceApiPelanggan().getPelangganByNama(nama) .subscribeOn(Schedulers.io()); } public Observable> getPelangganByNoTelpNoHp(String no) { return UtilsApi.getServiceApiPelanggan().getPelangganByNoTelpNoHp(no) .subscribeOn(Schedulers.io()); } public static void handleGenericError(Throwable error, Window window) { if (error instanceof SocketException || error instanceof UnknownHostException || error instanceof SocketTimeoutException) { Platform.runLater(() -> { Alert alert = AlertUtil.getAlertError( AlertUtil.ERROR_KONEKSI_TIMEOUT_TITLE, AlertUtil.ERROR_KONEKSI_TIMEOUT_MESSAGE); alert.initOwner(window); alert.show(); }); } else { Platform.runLater(() -> { Alert alert = AlertUtil.getAlertError( AlertUtil.ERROR_TIDAK_TERDUGA_TITLE, AlertUtil.ERROR_TIDAK_TERDUGA_MESSAGE); alert.initOwner(window); alert.show(); Logger.getLogger(AmigoPosRx.class.getName()).log(Level.SEVERE, null, error); }); } } }