Aidra Connect 10.0.2+16
Aidra Connect Mobile Application
Loading...
Searching...
No Matches
proposed_times_cubit.dart
Go to the documentation of this file.
1import '/features/collections/domain/entities/collection_entity.dart';
2import 'package:bloc/bloc.dart';
3import 'package:dartz/dartz.dart';
4import 'package:equatable/equatable.dart';
5
6import '../../../../../core/common/use_cases/use_cases.dart';
7import '../../../../../core/errors/failures.dart';
8import '../../../domain/use_cases/load_collection_times_usecase.dart';
9
10part 'proposed_times_state.dart';
11
12class ProposedTimesCubit extends Cubit<ProposedTimesState> {
13 final LoadCollectionTimesUseCase loadCollectionTimesUseCase;
14 ProposedTimesCubit({
15 required this.loadCollectionTimesUseCase,
16 }) : super(ProposedTimesInitial());
17
18 Future<void> loadProposedTimes() async {
19 emit(ProposedTimesLoadingState());
20 final Either<Failure, List<ProposedTimeEntity>> result =
21 await loadCollectionTimesUseCase.call(NoParams());
22 result.fold(
24 (times) => emit(ProposedTimesLoadedState(times: times)),
25 );
26 }
27}
ProposedTimesCubit({ required this.loadCollectionTimesUseCase, }) Future< void > loadProposedTimes() async
final LoadCollectionTimesUseCase loadCollectionTimesUseCase
sealed class DocumentState extends Equatable failure
const ProposedTimesFailureState({ required this.failure, })