src/Invoice/InvoiceItem.php
<?php
namespace Invoice;
class InvoiceItem
{
private $quantity;
private $vat;
private $priceItem;
private $price;
private $priceTotal;
private $description;
private $discount;
public static function fromArray($data)
{
$item = new InvoiceItem();
if (isset($data['quantity'])) {
$item->setQuantity($data['quantity']);
}
if (isset($data['vat'])) {
$item->setVat($data['vat']);
}
if (isset($data['price_item'])) {
$item->setPriceItem($data['price_item']);
}
if (isset($data['price'])) {
$item->setPrice($data['price']);
}
if (isset($data['price_total'])) {
$item->setPriceTotal($data['price_total']);
}
if (isset($data['description'])) {
$item->setPriceTotal($data['description']);
}
if (isset($data['discount']) && is_array($data['discount'])) {
$item->setDiscount(Discount::fromArray($data['discount']));
}
return $item;
}
/**
* @return int
*/
public function getQuantity()
{
return $this->quantity;
}
/**
* @param int $quantity
* @return InvoiceItem
*/
public function setQuantity($quantity)
{
$this->quantity = $quantity;
return $this;
}
/**
* @return float
*/
public function getVat()
{
return $this->vat;
}
/**
* @param float $vat
* @return InvoiceItem
*/
public function setVat($vat)
{
$this->vat = $vat;
return $this;
}
/**
* @return float mixed
*/
public function getPriceItem()
{
return $this->priceItem;
}
/**
* @param float $priceItem
* @return InvoiceItem
*/
public function setPriceItem($priceItem)
{
$this->priceItem = $priceItem;
return $this;
}
/**
* @return float
*/
public function getPrice()
{
return $this->price;
}
/**
* @param float $price
* @return InvoiceItem
*/
public function setPrice($price)
{
$this->price = $price;
return $this;
}
/**
* @return float
*/
public function getPriceTotal()
{
return $this->priceTotal;
}
/**
* @param float $priceTotal
* @return InvoiceItem
*/
public function setPriceTotal($priceTotal)
{
$this->priceTotal = $priceTotal;
return $this;
}
/**
* @return string
*/
public function getDescription()
{
return $this->description;
}
/**
* @param string $description
* @return InvoiceItem
*/
public function setDescription($description)
{
$this->description = $description;
return $this;
}
/**
* @return Discount
*/
public function getDiscount()
{
return $this->discount;
}
/**
* @param Discount $discount
* @return InvoiceItem
*/
public function setDiscount($discount)
{
$this->discount = $discount;
return $this;
}
}