86 lines
2.8 KiB
Dart
86 lines
2.8 KiB
Dart
part of 'account_bloc.dart';
|
|
|
|
final class AccountState extends Equatable {
|
|
final List<Transaction> transactions;
|
|
final List<TransactionLine> transactionsLines;
|
|
final double globalTotal;
|
|
final Map<String, double> accountsTotals;
|
|
|
|
final List<String> categories;
|
|
|
|
final TransactionDate transactionDate;
|
|
final TransactionCategory transactionCategory;
|
|
final TransactionDescription transactionDescription;
|
|
final TransactionAccount transactionAccount;
|
|
final TransactionValue transactionValue;
|
|
final bool isValid;
|
|
final bool showAddDialog;
|
|
|
|
final Transaction? currentTransaction;
|
|
|
|
const AccountState({
|
|
this.transactions = const [],
|
|
this.transactionsLines = const [],
|
|
this.globalTotal = 0,
|
|
this.accountsTotals = const <String, double>{},
|
|
this.categories = const [],
|
|
this.transactionDate = const TransactionDate.pure(),
|
|
this.transactionCategory = const TransactionCategory.pure(),
|
|
this.transactionDescription = const TransactionDescription.pure(),
|
|
this.transactionAccount = const TransactionAccount.pure(),
|
|
this.transactionValue = const TransactionValue.pure(),
|
|
this.isValid = false,
|
|
this.showAddDialog = false,
|
|
this.currentTransaction
|
|
});
|
|
|
|
AccountState copyWith({
|
|
List<Transaction>? transactions,
|
|
List<TransactionLine>? transactionsLines,
|
|
double? globalTotal,
|
|
Map<String, double>? accountsTotals,
|
|
List<String>? categories,
|
|
TransactionDate? transactionDate,
|
|
TransactionCategory? transactionCategory,
|
|
TransactionDescription? transactionDescription,
|
|
TransactionAccount? transactionAccount,
|
|
TransactionValue? transactionValue,
|
|
bool? isValid,
|
|
bool? showAddDialog,
|
|
Transaction? currentTransaction,
|
|
}) {
|
|
return AccountState(
|
|
transactions: transactions ?? this.transactions,
|
|
transactionsLines: transactionsLines ?? this.transactionsLines,
|
|
globalTotal: globalTotal ?? this.globalTotal,
|
|
accountsTotals: accountsTotals ?? this.accountsTotals,
|
|
categories: categories ?? this.categories,
|
|
transactionDate: transactionDate ?? this.transactionDate,
|
|
transactionCategory: transactionCategory ?? this.transactionCategory,
|
|
transactionDescription: transactionDescription ?? this.transactionDescription,
|
|
transactionAccount: transactionAccount ?? this.transactionAccount,
|
|
transactionValue: transactionValue ?? this.transactionValue,
|
|
isValid: isValid ?? this.isValid,
|
|
showAddDialog: showAddDialog ?? this.showAddDialog,
|
|
currentTransaction: currentTransaction ?? this.currentTransaction,
|
|
);
|
|
}
|
|
|
|
@override
|
|
List<Object?> get props => [
|
|
transactions,
|
|
transactionsLines,
|
|
globalTotal,
|
|
accountsTotals,
|
|
categories,
|
|
transactionDate,
|
|
transactionCategory,
|
|
transactionDescription,
|
|
transactionAccount,
|
|
transactionValue,
|
|
isValid,
|
|
showAddDialog,
|
|
currentTransaction,
|
|
];
|
|
}
|