Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
check_in_out_bloc.dart
Go to the documentation of this file.
1import 'package:bloc/bloc.dart';
2import 'package:equatable/equatable.dart';
3
4import '../../../../../core/error/failures.dart';
5import '../../../../../core/services/service_locator.dart';
6import '../../../domain/entities/session_entity.dart';
7import '../../../domain/entities/vehicle_entity.dart';
8import '../../../domain/use_cases/get_available_vehicles_usecase.dart';
9import '../../../domain/use_cases/send_vehicle_check_usecase.dart';
10
11part 'check_in_out_event.dart';
12part 'check_in_out_state.dart';
13
14class CheckInOutBloc extends Bloc<CheckInOutEvent, CheckInOutState> {
17
18 CheckInOutBloc() : super(CheckInOurInitialState()) {
19 on<GetAvailableVehiclesEvent>(_onGetAvailableVehiclesEvent);
20 on<SendVehicleCheckEvent>(_onSendVehicleCheckEvent);
21 }
22
25 Emitter<CheckInOutState> emit,
26 ) async {
27 emit(GetAvailableVehiclesLoadingState());
28 final results = await _getAvailableVehiclesUseCase(GetAvailableVehiclesParams(userId: event.userId));
29 results.fold(
31 (vehicles) => emit(GetAvailableVehiclesSuccessState(vehicles: vehicles)),
32 );
33 }
34
36 SendVehicleCheckEvent event,
37 Emitter<CheckInOutState> emit,
38 ) async {
39 emit(SendVehicleCheckLoadingState());
40
41 final results = await _sendVehicleCheckUseCase(
43 userId: event.userId,
44 type: event.type,
45 vehicleId: event.vehicleId,
46 ),
47 );
48
49 results.fold(
51 (success) => emit(SendVehicleCheckSuccessState(success: success)),
52 );
53 }
54}
sealed class AuthenticationState extends Equatable failure
const GetAvailableVehiclesEvent({required this.userId})
sealed class CheckInOutEvent extends Equatable userId
const GetAvailableVehiclesFailureState({required this.failure})
const SendVehicleCheckFailureState({required this.failure})
Future< void > _onGetAvailableVehiclesEvent(GetAvailableVehiclesEvent event, Emitter< CheckInOutState > emit,) async
Future< void > _onSendVehicleCheckEvent(SendVehicleCheckEvent event, Emitter< CheckInOutState > emit,) async
final String type
final sl