Files
old-new-wiaas/backend/wp-content/plugins/mailchimp-for-woocommerce/includes/api/assets/class-mailchimp-line-item.php
2018-06-14 16:49:28 +02:00

181 lines
3.6 KiB
PHP

<?php
/**
* Created by Vextras.
*
* Name: Ryan Hungate
* Email: ryan@vextras.com
* Date: 3/8/16
* Time: 2:16 PM
*/
class MailChimp_WooCommerce_LineItem
{
protected $id;
protected $product_id;
protected $product_variant_id;
protected $quantity;
protected $price;
/**
* @return array
*/
public function getValidation()
{
return array(
'id' => 'required|string',
'product_id' => 'required|string',
'product_variant_id' => 'required|string',
'quantity' => 'required|integer',
'price' => 'required|numeric',
);
}
/**
* @param $id
* @param $product_id
* @param $variant_id
* @param $quantity
* @param $price
* @return MailChimp_WooCommerce_LineItem
*/
public static function make($id, $product_id, $variant_id, $quantity, $price)
{
$item = new MailChimp_WooCommerce_LineItem();
$item->id = $id;
$item->product_id = $product_id;
$item->product_variant_id = $variant_id;
$item->quantity = $quantity;
$item->price = $price;
return $item;
}
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
* @return MailChimp_WooCommerce_LineItem
*/
public function setId($id)
{
$this->id = $id;
return $this;
}
/**
* @return mixed
*/
public function getProductId()
{
return $this->product_id;
}
/**
* @param mixed $product_id
* @return MailChimp_WooCommerce_LineItem
*/
public function setProductId($product_id)
{
$this->product_id = $product_id;
return $this;
}
/**
* @return mixed
*/
public function getProductVariantId()
{
return $this->product_variant_id;
}
/**
* @param mixed $product_variant_id
* @return MailChimp_WooCommerce_LineItem
*/
public function setProductVariantId($product_variant_id)
{
$this->product_variant_id = $product_variant_id;
return $this;
}
/**
* @return mixed
*/
public function getQuantity()
{
return $this->quantity;
}
/**
* @param mixed $quantity
* @return MailChimp_WooCommerce_LineItem
*/
public function setQuantity($quantity)
{
$this->quantity = $quantity;
return $this;
}
/**
* @return mixed
*/
public function getPrice()
{
return $this->price;
}
/**
* @param mixed $price
* @return MailChimp_WooCommerce_LineItem
*/
public function setPrice($price)
{
$this->price = $price;
return $this;
}
/**
* @return array
*/
public function toArray()
{
return mailchimp_array_remove_empty(array(
'id' => (string) $this->id,
'product_id' => (string) $this->product_id,
'product_variant_id' => (string) $this->product_variant_id,
'quantity' => (int) $this->quantity,
'price' => (string) $this->price,
));
}
/**
* @param array $data
* @return MailChimp_WooCommerce_LineItem
*/
public function fromArray(array $data)
{
$singles = array(
'id', 'product_id', 'product_variant_id', 'quantity', 'price',
);
foreach ($singles as $key) {
if (array_key_exists($key, $data)) {
$this->$key = $data[$key];
}
}
return $this;
}
}