fix to prod
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
import 'package:flutter_bloc/flutter_bloc.dart';
|
||||
import '../../core/result.dart';import '../../domain/entities/fine.dart';
|
||||
|
||||
import '../../domain/usecase/get_fine_details_usecase.dart';
|
||||
import '../../domain/usecase/pay_fine_usecase.dart';
|
||||
import '../event/fine_payment_event.dart';
|
||||
@@ -19,13 +21,37 @@ class FinePaymentBloc extends Bloc<FinePaymentEvent, FinePaymentState> {
|
||||
}
|
||||
|
||||
Future<void> _onFetchFineDetails(
|
||||
FetchFineDetails event,
|
||||
Emitter<FinePaymentState> emit,
|
||||
) async {
|
||||
FetchFineDetails event,
|
||||
Emitter<FinePaymentState> emit,
|
||||
) async {
|
||||
emit(state.copyWith(status: FinePaymentStatus.loading));
|
||||
try {
|
||||
final fine = await getFineDetailsUsecase(event.fineId);
|
||||
// emit(state.copyWith(status: FinePaymentStatus.initial, fine: fine));
|
||||
final result = await getFineDetailsUsecase(event.fineId); // Возвращает Result<Fine>
|
||||
|
||||
// Распаковываем Result
|
||||
if (result is Success<Fine>) {
|
||||
final fine = result.data; // Fine?
|
||||
if (fine != null) {
|
||||
emit(state.copyWith(
|
||||
status: FinePaymentStatus.initial,
|
||||
fine: fine,
|
||||
));
|
||||
} else {
|
||||
emit(
|
||||
state.copyWith(
|
||||
status: FinePaymentStatus.failure,
|
||||
errorMessage: "Не удалось получить данные о штрафе",
|
||||
),
|
||||
);
|
||||
}
|
||||
} else if (result is Failure<Fine>) {
|
||||
emit(
|
||||
state.copyWith(
|
||||
status: FinePaymentStatus.failure,
|
||||
errorMessage: result.failure.toString(), // или конкретное сообщение
|
||||
),
|
||||
);
|
||||
}
|
||||
} catch (e) {
|
||||
emit(
|
||||
state.copyWith(
|
||||
|
||||
Reference in New Issue
Block a user