b0y-101 Mini Shell


Current Path : E:/www/instructor/teacher06/components/com_eventgallery/library/
File Upload :
Current File : E:/www/instructor/teacher06/components/com_eventgallery/library/order.php

<?php

/**
 * @package     Sven.Bluege
 * @subpackage  com_eventgallery
 *
 * @copyright   Copyright (C) 2005 - 2019 Sven Bluege All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

// Check to ensure this file is included in Joomla!
defined('_JEXEC') or die();

/**
 * @property mixed cart
 */
class EventgalleryLibraryOrder extends EventgalleryLibraryLineitemcontainer
{

    protected $_lineitemstatus = EventgalleryLibraryLineitem::TYPE_CART;
    /**
     * @var EventgalleryTableOrder
     */
    protected $_lineitemcontainer = NULL;
    /**
     * @var string
     */
    protected $_lineitemcontainer_table = "Order";

    protected $_orderstatus = NULL;
    protected $_shippingstatus = NULL;
    protected $_paymentstatus = NULL;

    public function __construct($object)
    {
        if (!is_object($object)) {
            throw new InvalidArgumentException("Can't initialize Order Object because of missing Data Object.");
        }

        $this->_lineitemcontainer = $object;
        $this->_lineitemcontainer_id = $object->id;

        $this->_loadLineItems();
        $this->_loadServiceLineItems();

        parent::__construct();
    }

    /**
     * @param EventgalleryLibraryOrderStatus $orderStatus
     */
    public function setOrderStatus($orderStatus)
    {
        if ($orderStatus == NULL) {
            return;
        }
        $this->_lineitemcontainer->orderstatusid = $orderStatus->getId();
        $this->_storeLineItemContainer();
        $this->_orderstatus = null;
    }

    /**
     * @return EventgalleryLibraryOrderstatus
     */
    public function getOrderStatus() {
        if (null==$this->_orderstatus) {
            /**
             * @var EventgalleryLibraryFactoryOrderstatus $orderstatusFactory
             */
            $orderstatusFactory = EventgalleryLibraryFactoryOrderstatus::getInstance();
            $this->_orderstatus = $orderstatusFactory->getOrderStatusById($this->_lineitemcontainer->orderstatusid);
        }
        return $this->_orderstatus;
    }

    /**
     * @return EventgalleryLibraryOrderstatus
     */
    public function getPaymentStatus() {
        if (null == $this->_paymentstatus) {
            /**
             * @var EventgalleryLibraryFactoryOrderstatus $orderstatusFactory
             */
            $orderstatusFactory = EventgalleryLibraryFactoryOrderstatus::getInstance();
            $this->_paymentstatus = $orderstatusFactory->getOrderStatusById($this->_lineitemcontainer->paymentstatusid);
        }
        return $this->_paymentstatus;
    }

    /**
     * @param EventgalleryLibraryOrderstatus $paymentstatus
     */
    public function setPaymentStatus($paymentstatus) {
        $this->_lineitemcontainer->paymentstatusid = $paymentstatus->getId();
        $this->_storeLineItemContainer();
        $this->_paymentstatus = null;
    }

    /**
     * @return EventgalleryLibraryOrderstatus
     */
    public function getShippingStatus() {
        if (null==$this->_shippingstatus) {
            /**
             * @var EventgalleryLibraryFactoryOrderstatus $orderstatusFactory
             */
            $orderstatusFactory = EventgalleryLibraryFactoryOrderstatus::getInstance();
            $this->_shippingstatus = $orderstatusFactory->getOrderStatusById($this->_lineitemcontainer->shippingstatusid);
        }
        return $this->_shippingstatus;
    }

    /**
     * @param EventgalleryLibraryOrderstatus $shippingstatus
     */
    public function setShippingStatus($shippingstatus) {
        $this->_lineitemcontainer->shippingstatusid = $shippingstatus->getId();
        $this->_storeLineItemContainer();
        $this->_shippingstatus = null;
    }

    /**
     * returns a token which is necessary to perform downloads for this order
     *
     * @return string
     */
    public function getToken() {
        return $this->_lineitemcontainer->token;
    }

    /**
     * returns the version of this database entry
     *
     * @return int
     */
    public function getVersion() {
        return $this->_lineitemcontainer->version;
    }

    /**
     * returns the language as a String like de-DE, en-GB, en-US
     *
     * @return String
     */
    public function getLanguage() {
        return $this->_lineitemcontainer->language;
    }
}

Copyright © 2019 by b0y-101