From 88e85cbbe3a044e4937db6cbbc4f95383323fa33 Mon Sep 17 00:00:00 2001 From: devansh bawari Date: Mon, 16 Nov 2020 20:25:36 +0530 Subject: [PATCH] Facade And Model Method Added --- packages/Webkul/Checkout/src/Cart.php | 22 +++++++++++++++++--- packages/Webkul/Checkout/src/Models/Cart.php | 15 ++++++++++++- 2 files changed, 33 insertions(+), 4 deletions(-) diff --git a/packages/Webkul/Checkout/src/Cart.php b/packages/Webkul/Checkout/src/Cart.php index 52d647b79..f471390cd 100755 --- a/packages/Webkul/Checkout/src/Cart.php +++ b/packages/Webkul/Checkout/src/Cart.php @@ -293,7 +293,7 @@ class Cart public function getItemByProduct($data) { $items = $this->getCart()->all_items; - + foreach ($items as $item) { if ($item->product->getTypeInstance()->compareOptions($item->additional, $data['additional'])) { if (isset($data['additional']['parent_id'])) { @@ -607,7 +607,7 @@ class Cart if ($validationResult->isItemInactive()) { $this->removeItem($item->id); - + $isInvalid = true; session()->flash('info', __('shop::app.checkout.cart.item.inactive')); @@ -708,7 +708,7 @@ class Cart $item->save(); } - + Event::dispatch('checkout.cart.calculate.items.tax.after', $cart); } @@ -1275,4 +1275,20 @@ class Cart } } } + + /** + * Check minimum order. + * + * @return boolean + */ + public function checkMinimumOrder(): bool + { + $cart = $this->getCart(); + + if (! $cart) { + return false; + } + + return $cart->checkMinimumOrder(); + } } diff --git a/packages/Webkul/Checkout/src/Models/Cart.php b/packages/Webkul/Checkout/src/Models/Cart.php index dbc924c63..40bcc42ac 100755 --- a/packages/Webkul/Checkout/src/Models/Cart.php +++ b/packages/Webkul/Checkout/src/Models/Cart.php @@ -3,7 +3,6 @@ namespace Webkul\Checkout\Models; use Illuminate\Database\Eloquent\Model; -use Webkul\Product\Models\ProductProxy; use Webkul\Checkout\Contracts\Cart as CartContract; class Cart extends Model implements CartContract @@ -169,4 +168,18 @@ class Cart extends Model implements CartContract return true; } + + /** + * Check minimum order. + * + * @return boolean + */ + public function checkMinimumOrder(): bool + { + $minimumOrderAmount = (float) core()->getConfigData('sales.orderSettings.minimum-order.minimum_order_amount') ?? 0; + + $cartBaseSubTotal = (float) $this->base_sub_total; + + return $cartBaseSubTotal >= $minimumOrderAmount; + } }