Line data Source code
1 : import 'dart:async';
2 :
3 : import 'package:app_pym/domain/entities/map_pym/entreprise.dart';
4 : import 'package:app_pym/domain/usecases/cartographie/get_entreprises_of_batiment.dart';
5 : import 'package:bloc/bloc.dart';
6 : import 'package:freezed_annotation/freezed_annotation.dart';
7 : import 'package:injectable/injectable.dart';
8 :
9 : part 'entreprise_bloc.freezed.dart';
10 : part 'entreprise_event.dart';
11 : part 'entreprise_state.dart';
12 :
13 : @prod
14 : @injectable
15 : class EntrepriseBloc extends Bloc<EntrepriseEvent, EntrepriseState> {
16 : final GetEntreprisesOfBatiment getEntreprisesOfBatiment;
17 :
18 1 : EntrepriseBloc(this.getEntreprisesOfBatiment);
19 :
20 1 : @override
21 : EntrepriseState get initialState => const EntrepriseState.initial();
22 :
23 : @override
24 1 : Stream<EntrepriseState> mapEventToState(
25 : EntrepriseEvent event,
26 : ) async* {
27 : try {
28 1 : yield const EntrepriseState.loading();
29 4 : final entreprises = await getEntreprisesOfBatiment(event.idBatiment);
30 2 : yield EntrepriseState.entreprisesOfBatimentLoaded(entreprises);
31 1 : } on Exception catch (e) {
32 2 : yield EntrepriseState.error(e);
33 : }
34 : }
35 : }
|