import 'package:fikoyt_akcali_v1/apps/finans/core/models/finans.model.dart' as semalar; 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_akcali_v1/apps/finans/core/services/para_birimleri_service.dart'; import 'package:fikoyt_ui/fikoyt_ui.dart'; import 'package:isar/isar.dart'; // class HesaplarService extends GetxService { // Isar? isar; // RxBool guncelle = RxBool(false); // ParaBirimleriService? logicParaBirimi; // Rx hesap = Rx(semalar.Hesap()); // FinansServis? finansServis; // Rx> hesaplar = Rx>([]); // Stream get hesaplarStream => isar!.hesaps.where().watch(fireImmediately: true); // RxInt sayfa = RxInt(0); // RxInt limit = RxInt(3); // RxInt sayi = RxInt(3); // @override // void onInit() async { // super.onInit(); // finansServis = FikoYTCoreService.servisler.getServis(); // logicParaBirimi = Get.put(ParaBirimleriService()); // isar = finansServis?.isar; // // TODO: implement onInit // await listeAl(page: 0, lim: 3); // } // Future> listeAl({int? page, int? lim}) async { // sayfa.value = page ?? 0; // limit.value = lim ?? 0; // final hesaplarQuery = finansServis?.aktifKullanici.value?.hesaplar // .filter() // .offset(sayfa.value * limit.value) // .limit(limit.value); // final hesaplarList = await hesaplarQuery?.findAll() ?? []; // print(finansServis?.aktifKullanici.value); // hesaplar.value = hesaplarList; // return hesaplarList; // } // List listeAlSync({int? page, int? lim}) { // sayfa.value = page ?? 0; // limit.value = lim ?? 0; // hesaplar.value = // finansServis?.aktifKullanici.value?.hesaplar // .filter() // .offset(sayfa.value * limit.value) // .limit(limit.value) // .findAllSync() ?? // []; // return hesaplar.value; // } // Future hesapById(int hesapId) async { // return finansServis?.aktifKullanici.value?.hesaplar.filter().idEqualTo(hesapId).findFirst(); // } // semalar.Hesap? hesapByIdSync(int hesapId) { // return finansServis?.aktifKullanici.value?.hesaplar.filter().idEqualTo(hesapId).findFirstSync(); // } // Future kaydet({semalar.Hesap? hsp, semalar.IHesapTipi hesapTipi = semalar.IHesapTipi.nakit}) async { // hsp ??= hesap.value; // return isar?.writeTxn(() async { // hsp!.hesapTipi = hesapTipi; // hsp.sahibi.add(finansServis!.aktifKullanici.value!); // int? id = await isar?.hesaps.put(hsp); // hsp.sahibi.save(); // hsp.paraBirimi.save(); // hesap.value = semalar.Hesap(); // return id; // }); // } // Future hesapSilById(int hesapId) async { // return await isar?.hesaps // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .idEqualTo(hesapId) // .deleteFirst(); // } // bool? hesapSilByIdSync(int hesapId) { // return isar?.hesaps // .where() // .filter() // .sahibi((q) => q.idEqualTo(finansServis?.aktifKullanici.value?.id ?? -1)) // .idEqualTo(hesapId) // .deleteFirstSync(); // } // } class HesapService extends IsarFullService { @override Isar getIsar() => FikoYTCoreService.servisler.getServis()!.isar!; @override IsarCollection get koleksiyon => isar.hesaps; @override QueryBuilder getQuery() { final aktif = FikoYTCoreService.servisler.getServis()?.aktifKullanici.value; return koleksiyon.where().filter().sahibi((q) => q.idEqualTo(aktif?.id ?? -1)); } @override Future iliskileriYukle(List liste) async { for (var h in liste) { await h.paraBirimi.load(); await h.sahibi.load(); } } }