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_akcali_v1/apps/finans/core/services/kok.servis.dart'; import 'package:fikoyt_ui/fikoyt_ui.dart'; import 'package:isar/isar.dart'; // class KategorilerService111 extends GetxService { // Rx kayit = Rx(Kategori()); // 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 Kategori kyt, Kategori? ustKyt}) { // isar?.writeTxn(() async { // if (kyt.aciklama == "") { // kyt.aciklama = null; // } // kyt.sahibi.value = finansServis?.aktifKullanici.value; // kyt.ustKategori.value = ustKyt; // await isar?.kategoris.put(kyt); // await kyt.sahibi.save(); // await kyt.ustKategori.save(); // kayit.value = Kategori(); // kayitEkleGoster.value = false; // kayitEkleGoster.refresh(); // kayit.refresh(); // guncelle.refresh(); // }); // } // sil({required Kategori kyt}) { // isar?.writeTxn(() async { // await isar?.kategoris.delete(kyt.id); // kayit.value = Kategori(); // kayitEkleGoster.value = false; // kayitEkleGoster.refresh(); // kayit.refresh(); // guncelle.refresh(); // }); // } // Future> listeAl(int page, int limit, {Kategori? ustKyt}) async { // if (ustKyt != null) { // return await isar?.kategoris // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .ustKategori((q) => q.idEqualTo(ustKyt.id)) // .sortByIsmi() // .offset(page * limit) // .limit(limit) // .findAll() ?? // []; // } else { // return await isar?.kategoris // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .ustKategoriIsNull() // .sortByIsmi() // .offset(page * limit) // .limit(limit) // .findAll() ?? // []; // } // } // List listeAlSync(int page, int limit, {Kategori? ustKyt}) { // if (ustKyt != null) { // return isar?.kategoris // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .ustKategori((q) => q.idEqualTo(ustKyt.id)) // .sortByIsmi() // .offset(page * limit) // .limit(limit) // .findAllSync() ?? // []; // } else { // return isar?.kategoris // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .ustKategoriIsNull() // .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(); // } // } class KategorilerService extends IsarFullService { Rx ustKategori = Rx(null); @override Isar getIsar() => FikoYTCoreService.servisler.getServis()!.isar!; @override IsarCollection get koleksiyon => isar.kategoris; @override void onInit() { sayi.value = 5; super.onInit(); } @override QueryBuilder getQuery() { final aktif = FikoYTCoreService.servisler.getServis()?.aktifKullanici.value; // ustKategori.value?.ustKategori.loadSync(); var sorgu = koleksiyon.where().filter().sahibi((q) => q.idEqualTo(aktif?.id ?? -1)); // TODO: implement applyAramaFiltre if (aramaMetni.value.isEmpty) { if (ustKategori.value?.id != null) { sorgu = sorgu.ustKategori((q) { return q.idEqualTo(ustKategori.value?.id ?? -1); }); } else { sorgu = sorgu.ustKategoriIsNull(); } } else { if (ustKategori.value?.id != null) { sorgu = sorgu.ustKategori((q) { return q.idEqualTo(ustKategori.value?.id ?? -1); }); } sorgu = sorgu.ismiContains(aramaMetni.value, caseSensitive: false); } // return q.ismiContains(arama, caseSensitive: false); print("on init kategoriler"); return sorgu; } // @override // QueryBuilder applyAramaFiltre( // QueryBuilder q, // String arama, // ) { // } @override Future iliskileriYukle(List liste) async { for (var h in liste) { await h.ustKategori.load(); await h.sahibi.load(); } } @override Future beforeEkle(Kategori item) async { item.sahibi.value = FikoYTCoreService.servisler.getServis()!.aktifKullanici.value; return item; } @override Future afterEkle(Kategori item) async { await item.sahibi.save(); await item.ustKategori.save(); } } class AltKategorilerService extends IsarFullService { Rx kategori = Rx(null); @override Isar getIsar() => FikoYTCoreService.servisler.getServis()!.isar!; @override IsarCollection get koleksiyon => isar.kategoris; @override void onInit() { sayi.value = 5; super.onInit(); } @override QueryBuilder getQuery() { final aktif = FikoYTCoreService.servisler.getServis()?.aktifKullanici.value; // ustKategori.value?.ustKategori.loadSync(); var sorgu = koleksiyon.where().filter().sahibi((q) => q.idEqualTo(aktif?.id ?? -1)); // TODO: implement applyAramaFiltre if (aramaMetni.value.isEmpty) { if (kategori.value?.id != null) { sorgu = sorgu.ustKategori((q) { return q.idEqualTo(kategori.value?.id ?? -1); }); } else { sorgu = sorgu.ustKategoriIsNull(); } } else { if (kategori.value?.id != null) { sorgu = sorgu.ustKategori((q) { return q.idEqualTo(kategori.value?.id ?? -1); }); } sorgu = sorgu.ismiContains(aramaMetni.value, caseSensitive: false); } // return q.ismiContains(arama, caseSensitive: false); return sorgu; } // @override // QueryBuilder applyAramaFiltre( // QueryBuilder q, // String arama, // ) { // } @override Future iliskileriYukle(List liste) async { for (var h in liste) { await h.ustKategori.load(); await h.sahibi.load(); } } @override Future beforeEkle(Kategori item) async { item.sahibi.value = FikoYTCoreService.servisler.getServis()!.aktifKullanici.value; return item; } @override Future afterEkle(Kategori item) async { await item.sahibi.save(); await item.ustKategori.save(); } }