<?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\Column(name="first_name", type="string", length=100) */
protected ?string $firstName = null;
/** @ORM\Column(name="last_name", type="string", length=100) */
protected ?string $lastName = null;
/**
* @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;
}
public function getEmailCustomer(): string
{
return $this->emailCustomer;
}
public function setEmailCustomer(string $emailCustomer): void
{
$this->emailCustomer = $emailCustomer;
}
public function getProductVariant(): ProductVariant
{
return $this->productVariant;
}
public function setProductVariant(ProductVariant $productVariant): void
{
$this->productVariant = $productVariant;
}
public function isStatus(): bool
{
return $this->status;
}
public function setStatus(bool $status): void
{
$this->status = $status;
}
public function getChannel(): Channel
{
return $this->channel;
}
public function setChannel(Channel $channel): void
{
$this->channel = $channel;
}
public function getLocaleCode(): string
{
return $this->localeCode;
}
public function setLocaleCode(string $localeCode): void
{
$this->localeCode = $localeCode;
}
public function getFirstName(): ?string
{
return $this->firstName;
}
public function setFirstName(?string $firstName): void
{
$this->firstName = $firstName;
}
public function getLastName(): ?string
{
return $this->lastName;
}
public function setLastName(?string $lastName): void
{
$this->lastName = $lastName;
}
}