Refactored json storage

This commit is contained in:
2024-02-17 14:16:07 +01:00
parent 1a7f28703a
commit b2da8436e4
29 changed files with 389 additions and 235 deletions

View File

@@ -4,29 +4,32 @@ import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:tunas/domains/charts/models/month_totals.dart';
import 'package:tunas/domains/transaction/models/transaction_line.dart';
import 'package:tunas/domains/charts/models/chart_item.dart';
import 'package:tunas/repositories/account/account_repository.dart';
import 'package:tunas/repositories/account/models/category.dart';
import 'package:tunas/repositories/account/models/transaction.dart';
import 'package:tunas/repositories/metadata/metadata_repository.dart';
import 'package:tunas/repositories/metadata/models/category.dart';
import 'package:tunas/repositories/transactions/models/transaction.dart';
import 'package:tunas/repositories/transactions/models/transactions.dart';
import 'package:tunas/repositories/transactions/transactions_repository.dart';
part 'chart_event.dart';
part 'chart_state.dart';
class ChartBloc extends Bloc<ChartEvent, ChartState> {
final AccountRepository _accountRepository;
final MetadataRepository _metadataRepository;
final TransactionsRepository _transactionsRepository;
ChartBloc({required AccountRepository accountRepository}) :
_accountRepository = accountRepository, super(const ChartState()) {
ChartBloc({required MetadataRepository metadataRepository, required TransactionsRepository transactionsRepository}) :
_metadataRepository = metadataRepository, _transactionsRepository = transactionsRepository, super(const ChartState()) {
on<ChartTransactionsLoad>(_onChartTransactionsLoad);
on<ChartCategoriesLoad>(_onChartCategoriesLoad);
on<ChartNextYear>(_onNextYear);
on<ChartPreviousYear>(_onPreviousYear);
_accountRepository
_transactionsRepository
.getTransactionsStream()
.listen((transactions) => add(ChartTransactionsLoad(transactions)));
_accountRepository
_metadataRepository
.getCategoriesStream()
.listen((categories) => add(ChartCategoriesLoad(categories)));
}