<?php
namespace App\Entity;
use App\Entity\Traits\DeleteTrait;
use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Timestampable\Traits\TimestampableEntity;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Enquiry.
*
* @Gedmo\Loggable
*/
#[ORM\Entity(repositoryClass: \App\Repository\EnquiryRepository::class)]
#[ORM\Table(name: 'enquiry')]
class Enquiry implements \Stringable
{
use DeleteTrait;
use TimestampableEntity;
#[ORM\Column(name: 'id', type: 'integer')]
#[ORM\Id]
#[ORM\GeneratedValue(strategy: 'AUTO')]
private int $id;
#[Assert\NotBlank(message: 'Your name should not be blank')]
#[Assert\Length(min: 3, minMessage: 'Your name must be at least {{ limit }} characters long')]
#[ORM\Column(name: 'name', type: 'string', length: 255)]
private string $name;
#[Assert\NotBlank(message: 'Your Email should not be blank')]
#[Assert\Email(message: "The email '{{ value }}' is not a valid email.")]
#[ORM\Column(name: 'email', type: 'string', length: 255)]
private string $email;
#[Assert\NotBlank(message: 'Subject should not be blank')]
#[Assert\Length(min: 3, minMessage: 'Subject must be at least {{ limit }} characters long')]
#[ORM\Column(name: 'subject', type: 'string', length: 255)]
private string $subject;
#[Assert\NotBlank(message: 'Message should not be blank')]
#[Assert\Length(min: 10, minMessage: 'Message must be at least {{ limit }} characters long')]
#[ORM\Column(name: 'message', type: 'text')]
private string $message;
#[ORM\Column(type: 'boolean', nullable: false)]
private bool $viewed = false;
#[ORM\Column(type: 'string', length: 255)]
private $contactNumber;
#[ORM\Column(type: 'string', length: 255)]
private $businessName;
public function __toString(): string
{
return $this->getSubject();
}
public function getId(): int
{
return $this->id;
}
public function setName($name): self
{
$this->name = $name;
return $this;
}
public function getName(): string
{
return $this->name;
}
public function setEmail($email): self
{
$this->email = $email;
return $this;
}
public function getEmail(): string
{
return $this->email;
}
public function setSubject($subject): self
{
$this->subject = $subject;
return $this;
}
public function getSubject(): string
{
return $this->subject;
}
public function setMessage($message): self
{
$this->message = $message;
return $this;
}
public function getMessage(): string
{
return $this->message;
}
public function setViewed($viewed): self
{
$this->viewed = $viewed;
return $this;
}
public function getViewed(): bool
{
return $this->viewed;
}
public function getContactNumber(): ?string
{
return $this->contactNumber;
}
public function setContactNumber(string $contactNumber): self
{
$this->contactNumber = $contactNumber;
return $this;
}
public function getBusinessName(): ?string
{
return $this->businessName;
}
public function setBusinessName(string $businessName): self
{
$this->businessName = $businessName;
return $this;
}
}