<?php
namespace App\Entity;
use App\Repository\LivraisonRepository;
use DH\Auditor\Provider\Doctrine\Auditing\Annotation\Auditable;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=LivraisonRepository::class)
* @Auditable
*/
class Livraison
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $firstName;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $lastName;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $postName;
/**
* @ORM\Column(type="datetime_immutable")
*/
private ?\DateTimeImmutable $createdAt;
/**
* @ORM\ManyToOne(targetEntity=Users::class, inversedBy="livraisons")
* @ORM\JoinColumn(nullable=false)
*/
private $createdBy;
/**
* @ORM\Column(type="integer", length=1)
*/
private ?int $status;
/**
* @ORM\Column(type="string", length=255)
*/
private ?string $phoneNumber;
/**
* @ORM\Column(type="string", length=255)
*/
private $deliveryAddress;
/**
* @ORM\ManyToOne(targetEntity=Pcode::class)
* @ORM\JoinColumn(nullable=false)
*/
private $ville;
/**
* @ORM\Column(type="boolean")
*/
private $isDeleted;
/**
* @ORM\ManyToOne(targetEntity=Folder::class)
* @ORM\JoinColumn(nullable=false)
*/
private $folder;
/**
* @ORM\Column(type="datetime_immutable", nullable=true)
*/
private $deliveryAt;
/**
* @ORM\Column(type="string", length=255)
*/
private $deliveryNumber;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $reference;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $livrera;
/**
* @ORM\Column(type="datetime")
*/
private $deliveryLimitDate;
/**
*/
public function __construct()
{
$this->createdAt = new \DateTimeImmutable();
$this->deliveryLimitDate = (new \DateTimeImmutable())->add(new \DateInterval('P2D'));
}
public function getId(): ?int
{
return $this->id;
}
public function getFirstName(): ?string
{
return $this->firstName;
}
public function setFirstName(string $firstName): self
{
$this->firstName = $firstName;
return $this;
}
public function getLastName(): ?string
{
return $this->lastName;
}
public function setLastName(string $lastName): self
{
$this->lastName = $lastName;
return $this;
}
public function getPostName(): ?string
{
return $this->postName;
}
public function setPostName(string $postName): self
{
$this->postName = $postName;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getCreatedBy(): ?Users
{
return $this->createdBy;
}
public function setCreatedBy(?Users $createdBy): self
{
$this->createdBy = $createdBy;
return $this;
}
public function getStatus(): ?int
{
return $this->status;
}
public function setStatus(int $status): self
{
$this->status = $status;
return $this;
}
public function getPhoneNumber(): ?string
{
return $this->phoneNumber;
}
public function setPhoneNumber(string $phoneNumber): self
{
$this->phoneNumber = $phoneNumber;
return $this;
}
public function getDeliveryAddress(): ?string
{
return $this->deliveryAddress;
}
public function setDeliveryAddress(string $deliveryAddress): self
{
$this->deliveryAddress = $deliveryAddress;
return $this;
}
public function getVille(): ?Pcode
{
return $this->ville;
}
public function setVille(?Pcode $ville): self
{
$this->ville = $ville;
return $this;
}
public function isIsDeleted(): ?bool
{
return $this->isDeleted;
}
public function setIsDeleted(bool $isDeleted): self
{
$this->isDeleted = $isDeleted;
return $this;
}
public function getFolder(): ?Folder
{
return $this->folder;
}
public function setFolder(?Folder $folder): self
{
$this->folder = $folder;
return $this;
}
public function getDeliveryAt(): ?\DateTimeImmutable
{
return $this->deliveryAt;
}
public function setDeliveryAt(?\DateTimeImmutable $deliveryAt): self
{
$this->deliveryAt = $deliveryAt;
return $this;
}
public function getDeliveryNumber(): ?string
{
return $this->deliveryNumber;
}
public function setDeliveryNumber(string $deliveryNumber): self
{
$this->deliveryNumber = $deliveryNumber;
return $this;
}
public function getReference(): ?string
{
return $this->reference;
}
public function setReference(?string $reference): self
{
$this->reference = $reference;
return $this;
}
public function getLivrera(): ?string
{
return $this->livrera;
}
public function setLivrera(?string $livrera): self
{
$this->livrera = $livrera;
return $this;
}
public function getDeliveryLimitDate(): ?\DateTimeInterface
{
return $this->deliveryLimitDate;
}
public function setDeliveryLimitDate(\DateTimeInterface $deliveryLimitDate): self
{
$this->deliveryLimitDate = $deliveryLimitDate;
return $this;
}
}