part of 'finans.model.dart'; // Hesaplar (Bireysel ve Şirket hesapları, banka hesapları, kredi kartları vb.) @Collection() class Hesap { Hesap({this.gelirDestegi = true, this.giderDestegi = true, this.transferDestegi = true, this.cokluParaBirimiDestegi = true}); Id id = Isar.autoIncrement; String? ismi; String? hesapNo; String? simgesi; String? aciklama; int? renk; // Varsayılan beyaz @ignore Color get rengi => renk==null ? Colors.blue:Color(renk!); set rengi(Color yeniRenk) => renk = yeniRenk.toARGB32(); @Ignore() double? bakiye; // Hesap bakiyesi @enumerated IHesapTipi hesapTipi = IHesapTipi.nakit; // Hesap türü ("bank", "credit_card", "investment", vb.) DateTime? acilisTarihi; ///Mevduat Hesabı DateTime? mevduatVadeBaslangic; DateTime? mevduatVadeBitis; double? mevduatFaizi; /// Kredili Hesap DateTime? krediliSonOdemeTarihi; double? krediLimiti; /// birikim Hesap DateTime? birikimHedefTarihi; double? birikimMiktari; /// Destekler bool? faizDestegi; bool? bankaDestegi; bool? krediDestegi; bool? yatirimDestegi; bool? hedefDestegi; bool? borcDestegi; bool? gelirDestegi; bool? giderDestegi; bool? transferDestegi; bool? cokluParaBirimiDestegi; /// final IsarLink paraBirimi = IsarLink(); // Hesap dövizi final IsarLinks islemler = IsarLinks(); // Hesaba ait işlemler final IsarLinks periyodikIslemler = IsarLinks(); // Periyodik gelir/giderler final IsarLinks abonelikler = IsarLinks(); // Abonelikler // final IsarLinks financialStatements = IsarLinks(); // Finansal durum raporları @Backlink(to: "hesaplar") final sahibi = IsarLinks(); int? siralama; @ignore bool get bosMu { return (ismi == null || ismi!.isEmpty) && (simgesi == null || simgesi!.isEmpty); } @ignore bool get mevduatBosMu { return (bosMu || (mevduatFaizi == null && mevduatFaizi!.isLowerThan(0) && mevduatFaizi!.isNaN) || (mevduatVadeBaslangic == null) || (mevduatVadeBitis == null)); } @ignore bool get krediliBosMu { return (bosMu || (krediLimiti == null && krediLimiti!.isLowerThan(0) && krediLimiti!.isNaN) || (krediliSonOdemeTarihi == null)); } @ignore bool get birikimBosMu { return (bosMu || (birikimMiktari == null && birikimMiktari!.isLowerThan(0) && birikimMiktari!.isNaN) || (birikimHedefTarihi == null)); } } @Collection() class HesapTuru { Id id = Isar.autoIncrement; String? ismi; String? aciklama; String? emoji; final IsarLink anaParaBirimi = IsarLink(); bool? sadeceAnaParaBirimi; bool? hesapNoAlani; bool? vadeBaslangicTarihiAlani; bool? vadeBitisTarihiAlani; bool? faizOraniAlani; bool? hesapKesimTarihiAlani; bool? krediLimitiAlani; bool? hedefTarihiAlani; bool? hedefMiktariAlani; bool? faizDestegi; bool? bankaDestegi; bool? krediDestegi; bool? yatirimDestegi; bool? hedefDestegi; bool? borcDestegi; bool? gelirDestegi; bool? giderDestegi; bool? transferDestegi; bool? cokluParaBirimiDestegi; final sahibi = IsarLink(); @ignore bool get bosMu { return (ismi == null || ismi!.isEmpty) && (aciklama == null || aciklama!.isEmpty) && (emoji == null || emoji!.isEmpty); } // JSONBlob? ekAlanlar; }