34 lines
1.2 KiB
Dart
34 lines
1.2 KiB
Dart
import 'package:flutter_bloc/flutter_bloc.dart';
|
|
import 'package:hl_lieferservice/feature/delivery/overview/bloc/tour_event.dart';
|
|
import 'package:hl_lieferservice/feature/delivery/overview/bloc/tour_state.dart';
|
|
import 'package:hl_lieferservice/feature/delivery/overview/repository/tour_repository.dart';
|
|
import 'package:hl_lieferservice/model/tour.dart';
|
|
import 'package:hl_lieferservice/widget/operations/bloc/operation_bloc.dart';
|
|
import 'package:hl_lieferservice/widget/operations/bloc/operation_event.dart';
|
|
|
|
class TourBloc extends Bloc<TourEvent, TourState> {
|
|
OperationBloc opBloc;
|
|
TourRepository deliveryRepository;
|
|
|
|
TourBloc({required this.opBloc, required this.deliveryRepository})
|
|
: super(TourInitial()) {
|
|
on<LoadTour>(_load);
|
|
}
|
|
|
|
Future<void> _load(LoadTour event, Emitter<TourState> emit) async {
|
|
opBloc.add(LoadOperation());
|
|
try {
|
|
Tour tour = await deliveryRepository.loadAll(event.teamId);
|
|
List<Payment> payments = await deliveryRepository.loadPaymentOptions();
|
|
tour.paymentMethods = payments;
|
|
|
|
emit(TourLoaded(tour: tour));
|
|
opBloc.add(FinishOperation());
|
|
} catch (e) {
|
|
opBloc.add(
|
|
FailOperation(message: "Fehler beim Laden der heutigen Fahrten"),
|
|
);
|
|
}
|
|
}
|
|
}
|