Files
dragon_ledger/lib/Entities/recurring_transaction.dart

39 lines
1.1 KiB
Dart

import 'package:isar/isar.dart';
import 'account.dart';
import 'time_frame_enum.dart';
import 'transaction.dart';
part 'recurring_transaction.g.dart';
/// Stellt eine wiederkehrende Transaktion dar
@collection
class RecurringTransaction {
/// Die Id der wiederkehrenden Transaktion
Id id = Isar.autoIncrement;
/// Der Name der wiederkehrenden Transaktion
String name = '';
/// Das Startdatum ab wann diese wiederkehrende Transaktion belastet wird
DateTime? startDate;
/// Der Zeitraum der wiederkehrenden Transaktion
@enumerated
TimeFrameEnum timeFrame = TimeFrameEnum.monthly;
/// Die Höhe der wiederkehrenden Transaktion
double amount = 0;
/// Stellt die Transaktionen dar,
/// die mit dieser wiederkehrenden verknüpft sind.
@Backlink(to: 'recurringTransaction')
final IsarLinks<Transaction> transactions = IsarLinks<Transaction>();
/// Stellt das Konto dar, zu welchem diese wiederkehrende Transaktion gehört.
final IsarLink<Account> account = IsarLink<Account>();
@override
String toString() => '${super.toString()}($id: $name)';
}