<?php
namespace App\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* Customer
* ORM\Table(name="customer")
* @ORM\Entity(repositoryClass="App\Repository\CustomerRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Customer
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private ?int $id = null;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\User", cascade={"persist"})
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="user_id", referencedColumnName="id", nullable=true, onDelete="CASCADE")
* })
*/
private User|null $user;
/**
* @ORM\Column(name="archived", type="boolean", options={"default" : false})
*/
private bool $archived = false;
/**
* @ORM\Column(name="mat_id", type="string", length=64, nullable=true)
*/
private string|null $matId;
/**
* @ORM\Column(name="pib", type="string", length=64, nullable=true)
*/
private string|null $pib;
/**
* @ORM\Column(name="address", type="string", length=255, nullable=true)
*/
private string|null $address;
/**
* @ORM\Column(name="mark", type="string", length=64, nullable=true)
*/
private string|null $mark;
/**
* @ORM\Column(name="email", type="string", nullable=true)
*/
private string|null $email;
/**
* @ORM\Column(name="company_name", type="string", length=255, nullable=true, unique=true)
*/
private string|null $companyName;
/**
* @ORM\Column(name="company_title", type="string", length=255, nullable=true)
*/
private string|null $companyTitle;
/**
* @ORM\Column(name="created_at", type="datetime", nullable=true)
*/
private DateTime|null $createdAt;
/**
* @ORM\Column(name="updated_at", type="datetime", nullable=true)
*/
private DateTime|null $updatedAt;
/**
* @ORM\Column(name="create_customer_date", type="datetime", nullable=true)
*/
private DateTime|null $createCustomerDate;
/**
* @Assert\Email(message = "The email '{{ value }}' is not a valid email.")
*
* @ORM\Column(name="email_notification", type="string", nullable=true)
*/
private string|null $emailNotification;
/**
* @ORM\Column(name="eFakture", type="boolean", nullable=false)
*/
private bool $eFakture;
/**
* @ORM\ManyToOne(targetEntity="SubscriptionSmsPackage")
* @ORM\JoinColumn(name="subscription_sms_package_id", referencedColumnName="id", nullable=true)
*/
private ?SubscriptionSmsPackage $subscriptionSmsPackage;
/**
* @ORM\Column(name="number_of_left_messages", type="integer", options={"default" : 0})
*/
private int $numberOfLeftMessages = 0;
/**
* @ORM\Column(name="email_sender", type="string", length=255, nullable=true)
*/
private string|null $emailSender;
/**
* @ORM\Column(name="city", type="string", length=64, nullable=true)
*/
private string|null $city;
public function __construct()
{
$this->subscriptionSmsPackage = null;
}
/**
* @return int|null
*/
public function getId(): ?int
{
return $this->id;
}
/**
* @return User|null
*/
public function getUser(): ?User
{
return $this->user;
}
/**
* @param User|null $user
*/
public function setUser(?User $user): void
{
$this->user = $user;
}
/**
* @return bool
*/
public function getArchived(): bool
{
return $this->archived;
}
/**
* @param bool $archived
*/
public function setArchived(bool $archived): void
{
$this->archived = $archived;
}
/**
* @return string|null
*/
public function getMatId(): ?string
{
return $this->matId;
}
/**
* @param string|null $matId
*/
public function setMatId(?string $matId): void
{
$this->matId = $matId;
}
/**
* @return string|null
*/
public function getPib(): ?string
{
return $this->pib;
}
/**
* @param string|null $pib
*/
public function setPib(?string $pib): void
{
$this->pib = $pib;
}
/**
* @return string|null
*/
public function getAddress(): ?string
{
return $this->address;
}
/**
* @param string|null $address
*/
public function setAddress(?string $address): void
{
$this->address = $address;
}
/**
* @return string|null
*/
public function getMark(): ?string
{
return $this->mark;
}
/**
* @param string|null $mark
*/
public function setMark(?string $mark): void
{
$this->mark = $mark;
}
/**
* @return string|null
*/
public function getEmail(): ?string
{
return $this->email;
}
/**
* @param string|null $email
*/
public function setEmail(?string $email): void
{
$this->email = $email;
}
/**
* @return string|null
*/
public function getCompanyName(): ?string
{
return $this->companyName;
}
/**
* @param string|null $companyName
*/
public function setCompanyName(?string $companyName): void
{
$this->companyName = $companyName;
}
/**
* @return string|null
*/
public function getCompanyTitle(): ?string
{
return $this->companyTitle;
}
/**
* @param string|null $companyTitle
*/
public function setCompanyTitle(?string $companyTitle): void
{
$this->companyTitle = $companyTitle;
}
/**
* @return DateTime|null
*/
public function getCreateCustomerDate(): ?DateTime
{
return $this->createCustomerDate;
}
/**
* @param DateTime|null $createCustomerDate
*/
public function setCreateCustomerDate(?DateTime $createCustomerDate): void
{
$this->createCustomerDate = $createCustomerDate;
}
/**
* @return DateTime|null
*/
public function getCreatedAt(): ?DateTime
{
return $this->createdAt;
}
/**
* @param DateTime|null $createdAt
*/
public function setCreatedAt(?DateTime $createdAt): void
{
$this->createdAt = $createdAt;
}
/**
* @return DateTime|null
*/
public function getUpdatedAt(): ?DateTime
{
return $this->updatedAt;
}
/**
* @param DateTime|null $updatedAt
*/
public function setUpdatedAt(?DateTime $updatedAt): void
{
$this->updatedAt = $updatedAt;
}
/**
* @return string|null
*/
public function getEmailNotification(): ?string
{
return $this->emailNotification;
}
/**
* @param string|null $emailNotification
*/
public function setEmailNotification(?string $emailNotification): void
{
$this->emailNotification = $emailNotification;
}
/**
* @return bool
*/
public function isEFakture(): bool
{
return $this->eFakture;
}
/**
* @param bool $eFakture
*/
public function setEFakture(bool $eFakture): void
{
$this->eFakture = $eFakture;
}
/**
* @return string
*/
public function __toString(): string
{
return (string)$this->getCompanyName();
}
public function getSubscriptionSMSPackage(): ?SubscriptionSmsPackage
{
return $this->subscriptionSmsPackage;
}
public function setSubscriptionSMSPackage(?SubscriptionSmsPackage $subscriptionSmsPackage): void
{
$this->subscriptionSmsPackage = $subscriptionSmsPackage;
}
public function getNumberOfLeftMessages(): int
{
return $this->numberOfLeftMessages;
}
public function setNumberOfLeftMessages(int $numberOfLeftMessages): void
{
$this->numberOfLeftMessages = $numberOfLeftMessages;
}
public function getEmailSender(): ?string
{
return $this->emailSender;
}
public function setEmailSender(?string $emailSender): void
{
$this->emailSender = $emailSender;
}
public function getCity(): ?string
{
return $this->city;
}
public function setCity(?string $city): void
{
$this->city = $city;
}
}