'required', 'code' => 'required', 'redemption_url' => 'required', 'usage_count' => 'integer', 'created_at_foreign' => 'date', 'updated_at_foreign' => 'date', ]; } /** * @param MailChimp_WooCommerce_PromoRule $promo * @return MailChimp_WooCommerce_PromoCode */ public function attachPromoRule(MailChimp_WooCommerce_PromoRule $promo) { $this->promo_rule = $promo; return $this; } /** * @return MailChimp_WooCommerce_PromoRule|null */ public function getAttachedPromoRule() { return $this->promo_rule; } /** * @return string */ public function getId() { return $this->id; } /** * @param null $id * @return MailChimp_WooCommerce_PromoCode */ public function setId($id) { $this->id = $id; return $this; } /** * @return string */ public function getCode() { return $this->code; } /** * @param string $code * @return MailChimp_WooCommerce_PromoCode */ public function setCode($code) { $this->code = $code; return $this; } /** * @return string */ public function getRedemptionURL() { return $this->redemption_url; } /** * @param string $url * @return MailChimp_WooCommerce_PromoCode */ public function setRedemptionURL($url) { $this->redemption_url = $url; return $this; } public function getUsageCount() { return $this->usage_count; } /** * @param $count * @return MailChimp_WooCommerce_PromoCode */ public function setUsageCount($count) { $this->usage_count = $count; return $this; } /** * @param $enabled * @return MailChimp_WooCommerce_PromoCode */ public function setEnabled($enabled) { $this->enabled = (bool) $enabled; return $this; } /** * @return bool */ public function isEnabled() { return (bool) $this->enabled; } /** * @return array */ public function toArray() { return mailchimp_array_remove_empty([ 'id' => (string) $this->getId(), 'code' => (string) $this->getCode(), 'redemption_url' => (string) $this->getRedemptionURL(), 'usage_count' => $this->getUsageCount(), 'enabled' => $this->isEnabled(), ]); } /** * @param array $data * @return MailChimp_WooCommerce_PromoCode */ public function fromArray(array $data) { $singles = [ 'id', 'code', 'usage_count', 'enabled', 'redemption_url', 'created_at_foreign', 'updated_at_foreign', ]; foreach ($singles as $key) { if (array_key_exists($key, $data)) { $this->$key = $data[$key]; } } return $this; } }