Aidra Driver 1.3.5+68
Aidra Driver - Your path to green energy
Loading...
Searching...
No Matches
home_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/res/res_schedule_status_entity.dart';
7import '../../domain/usecases/get_schedule_status_usecase.dart';
8
9part 'home_event.dart';
10part 'home_state.dart';
11
12class HomeBloc extends Bloc<HomeEvent, HomeState> {
14
15 HomeBloc() : super(ScheduleStatusInitial()) {
16 on<LoadScheduleStatusEvent>(_onLoadScheduleStatus);
17 on<UpdateScheduleStatusEvent>(_onUpdateScheduleStatus);
18 }
19
22 Emitter<HomeState> emit,
23 ) async {
24 emit(ScheduleStatusLoading());
25
26 final result = await getScheduleStatusUseCase(
28 driverId: event.driverId,
29 date: event.date,
30 ),
31 );
32
33 result.fold(
34 (failure) => emit(ScheduleStatusError(failure: failure)),
35 (status) => emit(ScheduleStatusLoaded(status: status.status)),
36 );
37 }
38
40 UpdateScheduleStatusEvent event,
41 Emitter<HomeState> emit,
42 ) {
43 emit(ScheduleStatusLoaded(status: event.status));
44 }
45}
sealed class AuthenticationState extends Equatable failure
Future< void > _onLoadScheduleStatus(LoadScheduleStatusEvent event, Emitter< HomeState > emit,) async
final GetScheduleStatusUseCase getScheduleStatusUseCase
void _onUpdateScheduleStatus(UpdateScheduleStatusEvent event, Emitter< HomeState > emit,)
GetScheduleStatusUseCase({required this.repository})
const LoadScheduleStatusEvent({ required this.driverId, required this.date, })
final String date
const ScheduleStatusLoaded({required this.status})
final sl