Refactoring + Checkpoint
This commit is contained in:
@@ -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');
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user