Exemple #1
0
 /**
  * @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;
 }
Exemple #2
0
 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);
     }
 }
Exemple #3
0
 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));
 }