fetchOrderSummary method

  1. @action
Future<ValueResult<DepositRequestSummaryResponse>> fetchOrderSummary(
  1. String depositRequestId
)

Implementation

@action
Future<ValueResult<DepositRequestSummaryResponse>> fetchOrderSummary(
  String depositRequestId,
) async {
  setLoading(true);
  clearError();

  try {
    final result = await _checkoutService.getOrderSummary(depositRequestId);
    if (result.isError) {
      setError(result.error);
      return result;
    }

    final summary = result.value;
    if (summary == null) {
      setError('Resumo do pedido indisponível.');
      return ValueResult.failure('Resumo do pedido indisponível.');
    }

    setItems(summary.itemsSummary);
    setAmount(summary.amount);
    setFeeAmount(null);
    setTotalAmount(summary.amount);
    return result;
  } catch (e) {
    setError(e.toString());
    return ValueResult.failure(e.toString());
  } finally {
    setLoading(false);
  }
}