<?php
declare(strict_types=1);
namespace App\Entity\UserAlertStock;
use App\Entity\Channel\Channel;
use App\Entity\Locale\Locale;
use App\Entity\Product\ProductVariant;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Sylius\Component\Resource\Model\ResourceInterface;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Entity()
* @ORM\Table(name="app_availability_notifier")
*/
class AvailabilityNotifier implements ResourceInterface
{
use TimestampableEntity;
/**
* @ORM\Id()
* @ORM\GeneratedValue()
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(name="email_customer", type="string", length=100)
*/
protected string $emailCustomer ;
/**
* @ORM\ManyToOne("App\Entity\Product\ProductVariant")
* @ORM\JoinColumn(name="product_variant_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
private ProductVariant $productVariant;
/**
* @ORM\Column(type="boolean")
*/
private bool $status = false;
/**
* @ORM\ManyToOne("App\Entity\Channel\Channel")
* @ORM\JoinColumn(name="channel_id", referencedColumnName="id")
* @Assert\NotBlank()
*/
private Channel $channel;
/**
* @ORM\Column(name="locale_code", type="string", length=50)
*/
private string $localeCode;
/**
* @return mixed
*/
public function getId()
{
return $this->id;
}
/**
* @param mixed $id
*/
public function setId($id): void
{
$this->id = $id;
}
/**
* @return string
*/
public function getEmailCustomer(): string
{
return $this->emailCustomer;
}
/**
* @param string $emailCustomer
*/
public function setEmailCustomer(string $emailCustomer): void
{
$this->emailCustomer = $emailCustomer;
}
/**
* @return ProductVariant
*/
public function getProductVariant(): ProductVariant
{
return $this->productVariant;
}
/**
* @param ProductVariant $productVariant
*/
public function setProductVariant(ProductVariant $productVariant): void
{
$this->productVariant = $productVariant;
}
/**
* @return bool
*/
public function isStatus(): bool
{
return $this->status;
}
/**
* @param bool $status
*/
public function setStatus(bool $status): void
{
$this->status = $status;
}
/**
* @return Channel
*/
public function getChannel(): Channel
{
return $this->channel;
}
/**
* @param Channel $channel
*/
public function setChannel(Channel $channel): void
{
$this->channel = $channel;
}
/**
* @return string
*/
public function getLocaleCode(): string
{
return $this->localeCode;
}
/**
* @param string $localeCode
*/
public function setLocaleCode(string $localeCode): void
{
$this->localeCode = $localeCode;
}
}