calculateCartTotalPriceWithPriceRules method

num calculateCartTotalPriceWithPriceRules(
  1. List<VendorOrderModel> orders
)

Implementation

num calculateCartTotalPriceWithPriceRules(
  List<VendorOrderModel> orders,
) {
  num totalPrice = 0;

  final List<CartEntity> selectedCarts = getSelectedCarts(
    state.selectedVendorIds,
    state.carts,
  );

  for (final CartEntity cart in selectedCarts) {
    final String? selectedPriceRuleId = orders
        .firstWhereOrNull(
          (VendorOrderModel order) => order.vendorId == cart.vendorId,
        )
        ?.priceRuleId;

    final PriceRuleEntity? selectedPriceRule =
        cart.priceRules.firstWhereOrNull(
      (PriceRuleEntity priceRule) => priceRule.ruleId == selectedPriceRuleId,
    );

    totalPrice += selectedPriceRule?.priceVat ?? 0;
  }

  return totalPrice;
}