Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
collection_requests_history_bloc.dart
Go to the documentation of this file.
1import 'package:bloc/bloc.dart';
2
3import '../../../../../core/errors/failures.dart';
4import '../../../../../core/utils/collections_utils.dart';
5import '../../../domain/entities/collection_entity.dart';
6import '../../../domain/use_cases/load_completed_collections_requests_usecase.dart';
7import '../../../domain/use_cases/load_ongoing_collection_requests.dart';
8
9part 'collection_requests_history_event.dart';
10part 'collection_requests_history_state.dart';
11
12class CollectionRequestsHistoryBloc extends Bloc<CollectionRequestsHistoryEvent,
13 CollectionRequestsHistoryState> {
14 final LoadOnGoingCollectionRequestsUseCase loadOnGoingCollectionUseCase;
15 final LoadCompletedCollectionRequestsUseCase loadCompletedCollectionsUseCase;
16
18 required this.loadCompletedCollectionsUseCase,
19 required this.loadOnGoingCollectionUseCase,
20 }) : super(CollectionRequestsHistoryInitial()) {
21 on<LoadOnGoingCollectionRequestsEvent>(
22 _onLoadOnGoingCollectionRequestsEvent,
23 );
24 on<LoadCompletedCollectionRequestsEvent>(
25 _onLoadCompletedCollectionRequestsEvent,
26 );
27 }
28
31 Emitter<CollectionRequestsHistoryState> emit,
32 ) async {
33 emit(LoadingOnGoingCollectionRequestsState());
34 final results = await loadOnGoingCollectionUseCase.call(event.partnerId);
35 await Future.delayed(const Duration(milliseconds: 300));
36 results.fold(
37 (failure) =>
39 (collection) =>
40 emit(OnGoingCollectionRequestsLoaded(collections: collection)));
41 }
42
44 LoadCompletedCollectionRequestsEvent event,
45 Emitter<CollectionRequestsHistoryState> emit,
46 ) async {
47 emit(LoadingCompletedCollectionRequests());
48 final results = await loadCompletedCollectionsUseCase.call(
49 event.partnerId!,
50 );
51 results.fold(
52 (failure) => emit(
54 ),
55 (collections) => emit(
56 CompletedCollectionRequestsLoaded(collections: collections),
57 ),
58 );
59 }
60}
class CalenderTransactionsSummaryVeiw extends StatefulWidget collection
CollectionRequestsHistoryBloc({ required this.loadCompletedCollectionsUseCase, required this.loadOnGoingCollectionUseCase, })
Future< void > _onLoadCompletedCollectionRequestsEvent(LoadCompletedCollectionRequestsEvent event, Emitter< CollectionRequestsHistoryState > emit,) async
Future< void > _onLoadOnGoingCollectionRequestsEvent(LoadOnGoingCollectionRequestsEvent event, Emitter< CollectionRequestsHistoryState > emit,) async
const LoadOnGoingCollectionRequestsEvent({required this.partnerId})
const LoadCompletedCollectionRequestsFailure({ required this.failure, })
const LoadOnGoingCollectionRequestsFailure({ required this.failure, })
sealed class DocumentState extends Equatable failure
final List< CollectionEntity > collections