1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16  17  18  19  20  21  22  23  24  25  26  27  28  29  30  31  32  33  34  35  36  37  38  39  40  41  42  43  44  45  46  47  48  49  50  51  52  53  54  55  56  57  58  59  60  61  62  63  64  65  66  67  68  69  70  71  72  73  74  75  76  77  78  79  80  81  82  83  84  85  86  87  88  89  90  91  92  93  94  95  96  97  98  99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 
<?php
/* --------------------------------------------------------------
   GXEngineShoppingCart.inc.php 2018-05-16
   Gambio GmbH
   http://www.gambio.de
   Copyright (c) 2018 Gambio GmbH
   Released under the GNU General Public License (Version 2)
   [http://www.gnu.org/licenses/gpl-2.0.html]
   --------------------------------------------------------------
*/

/**
 * Class GXEngineShoppingCart
 *
 * @category   System
 * @package    ShoppingCart
 */
class GXEngineShoppingCart implements ShoppingCartInterface
{
    /**
     * @var int
     */
    protected $id;
    
    /**
     * @var int
     */
    protected $customerId;
    
    /**
     * @var string
     */
    protected $productId;
    
    /**
     * @var float
     */
    protected $quantity;
    
    /**
     * @var float
     */
    protected $finalPrice;
    
    /**
     * @var string
     */
    protected $creationDate;
    
    
    /**
     * GXEngineShoppingCart constructor.
     *
     * @param \IdType      $id
     * @param \IdType      $customerId
     * @param \StringType  $productId
     * @param \DecimalType $quantity
     * @param \DecimalType $finalPrice
     * @param \StringType  $creationDate
     */
    public function __construct(
        IdType $id,
        IdType $customerId,
        StringType $productId,
        DecimalType $quantity,
        DecimalType $finalPrice,
        StringType $creationDate
    ) {
        $this->id           = $id->asInt();
        $this->customerId   = $customerId->asInt();
        $this->productId    = $productId->asString();
        $this->quantity     = $quantity->asDecimal();
        $this->finalPrice   = $finalPrice->asDecimal();
        $this->creationDate = $creationDate->asString();
    }
    
    
    /**
     * @return int
     */
    public function getId()
    {
        return $this->id;
    }
    
    
    /**
     * @return int
     */
    public function getCustomerId()
    {
        return $this->customerId;
    }
    
    
    /**
     * @return string
     */
    public function getProductId()
    {
        return $this->productId;
    }
    
    
    /**
     * @return float
     */
    public function getQuantity()
    {
        return $this->quantity;
    }
    
    
    /**
     * @return float
     */
    public function getFinalPrice()
    {
        return $this->finalPrice;
    }
    
    
    /**
     * @return string
     */
    public function getCreationDate()
    {
        return $this->creationDate;
    }
}