/// Use case: Créer une nouvelle contribution library create_contribution; import 'package:injectable/injectable.dart'; import '../../data/models/contribution_model.dart'; import '../repositories/contribution_repository.dart'; /// Use case pour créer une nouvelle cotisation @injectable class CreateContribution { final IContributionRepository _repository; CreateContribution(this._repository); /// Exécute le use case /// /// [contribution] - Modèle de la cotisation à créer /// /// Retourne la contribution créée avec son ID généré /// Lève une exception en cas d'erreur de validation ou de création Future call(ContributionModel contribution) async { return _repository.createCotisation(contribution); } }