Refactoring + Checkpoint

This commit is contained in:
DahoudG
2024-11-17 23:00:18 +00:00
parent 1e888f41e8
commit 77ab8a02a2
56 changed files with 1904 additions and 790 deletions

View File

@@ -91,25 +91,48 @@ class EventBloc extends Bloc<EventEvent, EventState> {
// Gestion de la fermeture d'un événement
Future<void> _onCloseEvent(CloseEvent event, Emitter<EventState> emit) async {
emit(EventLoading());
emit(EventLoading()); // Affiche le chargement
try {
await remoteDataSource.closeEvent(event.eventId);
final events = await remoteDataSource.getAllEvents();
emit(EventLoaded(events));
// Mise à jour de l'événement spécifique dans l'état
if (state is EventLoaded) {
final updatedEvents = List<EventModel>.from((state as EventLoaded).events);
final updatedEvent = updatedEvents.firstWhere((e) => e.id == event.eventId);
updatedEvent.status = 'fermé'; // Modifier l'état de l'événement localement
// Émettre un nouvel état avec l'événement mis à jour
emit(EventLoaded(updatedEvents));
print('Événement fermé et mis à jour localement.');
}
} catch (e) {
emit(EventError('Erreur lors de la fermeture de l\'événement.'));
print('Erreur lors de la fermeture de l\'événement : $e');
}
}
// Gestion de la réouverture d'un événement
Future<void> _onReopenEvent(ReopenEvent event, Emitter<EventState> emit) async {
emit(EventLoading());
emit(EventLoading()); // Affiche le chargement
try {
// Appel au service backend pour réouvrir l'événement
await remoteDataSource.reopenEvent(event.eventId);
final events = await remoteDataSource.getAllEvents();
emit(EventLoaded(events));
// Mise à jour de l'événement spécifique dans l'état
if (state is EventLoaded) {
final updatedEvents = List<EventModel>.from((state as EventLoaded).events);
final updatedEvent = updatedEvents.firstWhere((e) => e.id == event.eventId);
// Mise à jour du statut local de l'événement
updatedEvent.status = 'ouvert';
// Émettre un nouvel état avec l'événement mis à jour
emit(EventLoaded(updatedEvents));
print('Événement réouvert et mis à jour localement.');
}
} catch (e) {
// En cas d'erreur, émettre un état d'erreur
emit(EventError('Erreur lors de la réouverture de l\'événement.'));
print('Erreur lors de la réouverture de l\'événement : $e');
}
}