/// Use case: Récupérer les statistiques personnelles des contributions library get_contribution_stats; import 'package:injectable/injectable.dart'; import '../repositories/contribution_repository.dart'; /// Use case pour récupérer les statistiques de cotisations du membre @injectable class GetContributionStats { final IContributionRepository _repository; GetContributionStats(this._repository); /// Exécute le use case /// /// Retourne un Map contenant les statistiques personnelles: /// - montantDu: Montant total dû pour l'année en cours /// - totalPayeAnnee: Montant total payé pour l'année /// - cotisationsEnAttente: Nombre de cotisations en attente /// - prochaineEcheance: Date de la prochaine échéance /// - tauxPaiement: Taux de paiement en pourcentage /// /// Retourne null si aucune donnée n'est disponible Future?> call() async { return _repository.getMesCotisationsSynthese(); } }