/// Événements pour le BLoC des budgets library budget_event; import 'package:equatable/equatable.dart'; import '../../domain/entities/budget.dart'; abstract class BudgetEvent extends Equatable { const BudgetEvent(); @override List get props => []; } /// Charger les budgets class LoadBudgets extends BudgetEvent { final String? organizationId; final BudgetStatus? status; final int? year; const LoadBudgets({ this.organizationId, this.status, this.year, }); @override List get props => [organizationId, status, year]; } /// Charger un budget spécifique class LoadBudgetById extends BudgetEvent { final String budgetId; const LoadBudgetById(this.budgetId); @override List get props => [budgetId]; } /// Créer un budget class CreateBudgetEvent extends BudgetEvent { final String name; final String? description; final String organizationId; final BudgetPeriod period; final int year; final int? month; final List lines; const CreateBudgetEvent({ required this.name, this.description, required this.organizationId, required this.period, required this.year, this.month, required this.lines, }); @override List get props => [ name, description, organizationId, period, year, month, lines, ]; } /// Charger le suivi budgétaire class LoadBudgetTracking extends BudgetEvent { final String budgetId; const LoadBudgetTracking(this.budgetId); @override List get props => [budgetId]; } /// Rafraîchir les budgets class RefreshBudgets extends BudgetEvent { final String? organizationId; final BudgetStatus? status; final int? year; const RefreshBudgets({ this.organizationId, this.status, this.year, }); @override List get props => [organizationId, status, year]; } /// Filtrer les budgets class FilterBudgets extends BudgetEvent { final BudgetStatus? status; final int? year; const FilterBudgets({ this.status, this.year, }); @override List get props => [status, year]; }