/** * @return EventgalleryLibraryMethodsPayment|EventgalleryLibraryMethodsShipping|EventgalleryLibraryMethodsSurcharge */ public function getMethod() { if ($this->isPaymentMethod()) { /* @var EventgalleryLibraryManagerPayment $paymentMgr */ $paymentMgr = EventgalleryLibraryManagerPayment::getInstance(); return $paymentMgr->getMethod($this->_lineitem->methodid, false); } if ($this->isShippingMethod()) { /* @var EventgalleryLibraryManagerShipping $shippingMgr */ $shippingMgr = EventgalleryLibraryManagerShipping::getInstance(); return $shippingMgr->getMethod($this->_lineitem->methodid, false); } if ($this->isSurcharge()) { /* @var EventgalleryLibraryManagerSurcharge $surchargeMgr */ $surchargeMgr = EventgalleryLibraryManagerSurcharge::getInstance(); return $surchargeMgr->getMethod($this->_lineitem->methodid, false); } return null; }
public function testMethodes() { /** * @var EventgalleryLibraryManagerCart $cartMgr */ $cartMgr = EventgalleryLibraryManagerCart::getInstance(); // CREATE $cart = $cartMgr->getCart(); $this->assertEmpty($cart->getLineItems()); $cart->addItem("test", "A_001_2013-03-17_IMG_1294.jpg", "1"); $this->assertNotEmpty($cart->getLineItems()); /** * @var EventgalleryLibraryManagerShipping $shippingMgr */ $shippingMgr = EventgalleryLibraryManagerShipping::getInstance(); $methods = $shippingMgr->getMethods(); foreach ($methods as $method) { /** * @var EventgalleryLibraryInterfaceMethod $method */ $method->isEligible($cart); } /** * @var EventgalleryLibraryManagerPayment $paymentMgr */ $paymentMgr = EventgalleryLibraryManagerPayment::getInstance(); $methods = $paymentMgr->getMethods(); foreach ($methods as $method) { /** * @var EventgalleryLibraryInterfaceMethod $method */ $method->isEligible($cart); } /** * @var EventgalleryLibraryManagerSurcharge $surchargeMgr */ $surchargeMgr = EventgalleryLibraryManagerSurcharge::getInstance(); $methods = $surchargeMgr->getMethods(); foreach ($methods as $method) { /** * @var EventgalleryLibraryInterfaceMethod $method */ $method->isEligible($cart); } }
public function calculateCart() { $cart = $this->getCart(); if ($cart->getShippingMethod() && $cart->getShippingMethod()->isEligible($cart) == false) { $cart->setShippingMethod(null); } if ($cart->getPaymentMethod() && $cart->getPaymentMethod()->isEligible($cart) == false) { $cart->setPaymentMethod(null); } // set subtotal; /** * @var float $subtotal */ $subtotal = 0; /** * @var EventgalleryLibraryImagelineitem $lineitem */ $subtotalCurrency = ""; foreach ($cart->getLineItems() as $lineitem) { $subtotal += $lineitem->getPrice()->getAmount(); $subtotalCurrency = $lineitem->getPrice()->getCurrency(); } $cart->setSubTotal(new EventgalleryLibraryCommonMoney($subtotal, $subtotalCurrency)); /** * @var EventgalleryLibraryManagerSurcharge $surchargeMgr */ $surchargeMgr = EventgalleryLibraryManagerSurcharge::getInstance(); $cart->setSurcharge($surchargeMgr->calculateSurcharge($cart)); /** * @var float $total */ $total = $subtotal; if ($cart->getSurcharge() != NULL) { $total += $cart->getSurcharge()->getPrice()->getAmount(); } if ($cart->getShippingMethod() != NULL) { $total += $cart->getShippingMethod()->getPrice()->getAmount(); } if ($cart->getPaymentMethod() != NULL) { $total += $cart->getPaymentMethod()->getPrice()->getAmount(); } $cart->setTotal(new EventgalleryLibraryCommonMoney($total, $subtotalCurrency)); }