34 lines
1.1 KiB
Dart
34 lines
1.1 KiB
Dart
/// Use case: Récupérer l'historique des contributions d'un membre
|
|
library get_contribution_history;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../../data/models/contribution_model.dart';
|
|
import '../../data/repositories/contribution_repository.dart' show ContributionPageResult;
|
|
import '../repositories/contribution_repository.dart';
|
|
|
|
/// Use case pour récupérer l'historique des paiements de cotisations
|
|
@injectable
|
|
class GetContributionHistory {
|
|
final IContributionRepository _repository;
|
|
|
|
GetContributionHistory(this._repository);
|
|
|
|
/// Exécute le use case
|
|
///
|
|
/// [page] - Numéro de page (pagination)
|
|
/// [size] - Taille de la page
|
|
/// [annee] - Filtrer par année (optionnel)
|
|
/// [statut] - Filtrer par statut (optionnel)
|
|
///
|
|
/// Retourne l'historique paginé des cotisations du membre
|
|
/// Inclut toutes les cotisations (payées, en attente, en retard)
|
|
Future<ContributionPageResult> call({
|
|
int page = 0,
|
|
int size = 50,
|
|
int? annee,
|
|
ContributionStatus? statut,
|
|
}) async {
|
|
return _repository.getMesCotisations(page: page, size: size);
|
|
}
|
|
}
|