feat: refund
This commit is contained in:
@@ -174,19 +174,17 @@ class OrderFormBloc extends Bloc<OrderFormEvent, OrderFormState> {
|
||||
});
|
||||
|
||||
on<_Refund>((event, emit) async {
|
||||
state.maybeWhen(
|
||||
loaded: (order, selectedItems, _) async {
|
||||
if (selectedItems.isEmpty) return;
|
||||
emit(const OrderFormState.loading());
|
||||
|
||||
emit(const OrderFormState.loading());
|
||||
final result = await _orderRemoteDatasource.refund(
|
||||
orderId: event.orderId,
|
||||
reason: event.reason,
|
||||
orderItems: event.items,
|
||||
);
|
||||
|
||||
try {
|
||||
emit(OrderFormState.success(order));
|
||||
} catch (e) {
|
||||
emit(OrderFormState.error('Refund gagal: ${e.toString()}'));
|
||||
}
|
||||
},
|
||||
orElse: () {},
|
||||
result.fold(
|
||||
(error) => emit(_Error(error)),
|
||||
(success) => emit(_SuccessMsg()),
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -20,8 +20,12 @@ class OrderFormEvent with _$OrderFormEvent {
|
||||
required List<ProductQuantity> items,
|
||||
required String orderId,
|
||||
}) = _AddToOrder;
|
||||
const factory OrderFormEvent.refund({
|
||||
required List<OrderItem> items,
|
||||
required String orderId,
|
||||
required String reason,
|
||||
}) = _Refund;
|
||||
const factory OrderFormEvent.toggleItem(OrderItem item) = _ToggleItem;
|
||||
const factory OrderFormEvent.toggleSelectAll(bool selectAll) =
|
||||
_ToggleSelectAll;
|
||||
const factory OrderFormEvent.refund() = _Refund;
|
||||
}
|
||||
|
||||
@@ -10,5 +10,6 @@ class OrderFormState with _$OrderFormState {
|
||||
@Default(false) bool isAllSelected,
|
||||
}) = _Loaded;
|
||||
const factory OrderFormState.success(Order order) = _Success;
|
||||
const factory OrderFormState.successMsg() = _SuccessMsg;
|
||||
const factory OrderFormState.error(String message) = _Error;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user