39 lines
1.1 KiB
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)';
|
|
}
|