1import 'package:bloc/bloc.dart';
2import 'package:equatable/equatable.dart';
3import '../../../../../core/common/enums/collection_status.dart';
4import '../../../../../core/common/use_case/use_case.dart';
5import '../../../../../core/error/failures.dart';
6import '../../../../../core/services/service_locator.dart';
7import '../../../../../core/ui/theme/color_palette.dart';
8import '../../../../../core/common/entities/collection_entity.dart';
9import '../../../domain/entities/res/res_cancellation_reason_entity.dart';
10import '../../../domain/entities/res/res_collection_status_entity.dart';
11import '../../../domain/usecases/get_cancellation_reason_usecase.dart';
12import '../../../domain/usecases/get_collections_usecase.dart';
13import '../../../domain/usecases/update_collection_status_usecase.dart';
14import '../../../domain/usecases/validate_collection_usecase.dart';
16part
'collections_event.dart';
17part
'collections_state.dart';
34 Emitter<CollectionsState> emit,
36 emit(CollectionsLoading());
51 (a, b) => (a.order ?? 0).compareTo(b.order ?? 0),
59 UpdateCollectionStatusEvent event,
60 Emitter<CollectionsState> emit,
62 emit(CollectionsLoading());
64 UpdateCollectionStatusParams(
67 cancellationReasonId: event.cancellationReasonId,
76 if (event.userId != null) {
85 emit(
const CollectionStatusUpdateError(
87 message:
"Error, action not complited",
97 LoadCancellationReasonsEvent event,
98 Emitter<CollectionsState> emit,
100 emit(CancellationReasonsLoading());
110 Emitter<CollectionsState> emit,
112 emit(CollectionValidationLoading());
sealed class AuthenticationState extends Equatable failure
sealed class CheckInOutEvent extends Equatable userId
final GetCollectionsUseCase getCollectionsUseCase
final ValidateCollectionUsecase validateCollectionUseCase
Future< void > _onLoadCancellationReasons(LoadCancellationReasonsEvent event, Emitter< CollectionsState > emit,) async
final GetCancellationReasonsUseCase getCancelationReasonsUseCase
Future< void > _onValidateCollection(ValidateCollectionEvent event, Emitter< CollectionsState > emit,) async
final UpdateCollectionStatusUsecase updateCollectionStatusUsecase
Future< void > _onLoadCollections(LoadCollectionsEvent event, Emitter< CollectionsState > emit,) async
Future< void > _onUpdateCollectionStatus(UpdateCollectionStatusEvent event, Emitter< CollectionsState > emit,) async
class UpdateCollectionStatusEvent extends CollectionsEvent collectionId
const LoadCollectionsEvent({ required this.userId, required this.notForToday, required this.type, })
const ValidateCollectionEvent({ required this.collectionId, required this.userId })
class CollectionStatusUpdateError extends CollectionsState reasons
class CancellationReasonsError extends CollectionsState isValid
const CollectionsLoaded({required this.collections})
sealed class CollectionsState extends Equatable collections
const CancellationReasonsLoaded({required this.reasons})
const CollectionStatusUpdateSuccess({required this.resCollectionStatusEntity})
class CollectionsError extends CollectionsState resCollectionStatusEntity
const CollectionValidationSuccess({required this.isValid})
class BiometricFailure extends Failure UnknownFailure({ required super.message, required super.color, })
GetCollectionsUseCase({required this.repository})
UpdateCollectionStatusUsecase({required this.repository})
ValidateCollectionUsecase({required this.repository})