import 'package:fikoyt_akcali_v1/apps/finans/core/models/finans.model.dart'; import 'package:fikoyt_akcali_v1/apps/finans/core/services/finans.servis.dart'; import 'package:fikoyt_ui/fikoyt_ui.dart'; import 'package:isar/isar.dart'; class EtiketlerService extends GetxService { Rx kayit = Rx(Etiket()); Rx kayitEkleGoster = Rx(false); Rx guncelle = Rx(false); FinansServis? finansServis = FikoYTCoreService.servisler.getServis(); Isar? isar = FikoYTCoreService.servisler.getServis()?.isar; kayitKontrol() { kayit.value?.ismi != ""; } kaydet({required Etiket kyt, Etiket? ustKyt}) { isar?.writeTxn(() async { if (kyt.aciklama == "") { kyt.aciklama = null; } kyt.sahibi.value = finansServis?.aktifKullanici.value; await isar?.etikets.put(kyt); await kyt.sahibi.save(); kayit.value = Etiket(); kayitEkleGoster.value = false; kayitEkleGoster.refresh(); kayit.refresh(); guncelle.refresh(); }); } sil({required Etiket kyt}) { isar?.writeTxn(() async { await isar?.kategoris.delete(kyt.id); kayit.value = Etiket(); kayitEkleGoster.value = false; kayitEkleGoster.refresh(); kayit.refresh(); guncelle.refresh(); }); } Future> listeAl(int page, int limit, {Etiket? ustKyt}) async { if (ustKyt != null) { return await isar?.etikets .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .sortByIsmi() .offset(page * limit) .limit(limit) .findAll() ?? []; } else { return await isar?.etikets .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .sortByIsmi() .offset(page * limit) .limit(limit) .findAll() ?? []; } } List listeAlSync(int page, int limit, {Etiket? ustKyt}) { if (ustKyt != null) { return isar?.etikets .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .sortByIsmi() .offset(page * limit) .limit(limit) .findAllSync() ?? []; } else { return isar?.etikets .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .sortByIsmi() .offset(page * limit) .limit(limit) .findAllSync() ?? []; } } Future byId(int id) async { return await isar?.kategoris .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .idEqualTo(id) .findFirst(); } Kategori? byIdSync(int id) { return isar?.kategoris .where() .filter() .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) .idEqualTo(id) .findFirstSync(); } }