<?php
namespace App\Entity;
use App\Repository\OrderRepository;
use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
/**
* @ORM\Entity(repositoryClass=OrderRepository::class)
* @ORM\Table(name="`order`")
*/
class Order
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="datetime")
*/
private $dateOrder;
/**
* @ORM\ManyToOne(targetEntity=UserPlatform::class, inversedBy="listOrders")
* @ORM\JoinColumn(nullable=false)
*/
private $customer;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $state;
/**
* @ORM\Column(type="text", nullable=true)
*/
private $motif;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $reforder;
/**
* @ORM\Column(type="date", nullable=true)
*/
private $deliveryDate;
/**
* @ORM\Column(type="float", nullable=true)
*/
private ?float $discountAmount = null;
/**
* @ORM\Column(type="string", length=50, nullable=true)
*/
private ?string $couponRef = null;
/**
* @ORM\Column(type="float", nullable=true)
*/
private ?float $totalAfterDiscount = null;
/**
* @ORM\OneToMany(
* mappedBy="idorder",
* targetEntity=DetailsOrders::class,
* cascade={"persist","remove"}
* )
*/
private Collection $detailsOrders;
public function getId(): ?int
{
return $this->id;
}
public function getDateOrder(): ?\DateTimeInterface
{
return $this->dateOrder;
}
public function setDateOrder(\DateTimeInterface $dateOrder): self
{
$this->dateOrder = $dateOrder;
return $this;
}
public function getCustomer(): ?UserPlatform
{
return $this->customer;
}
public function setCustomer(?UserPlatform $customer): self
{
$this->customer = $customer;
return $this;
}
public function getState(): ?int
{
return $this->state;
}
public function setState(?int $state): self
{
$this->state = $state;
return $this;
}
public function getMotif(): ?string
{
return $this->motif;
}
public function setMotif(?string $motif): self
{
$this->motif = $motif;
return $this;
}
public function getReforder(): ?string
{
return $this->reforder;
}
public function setReforder(?string $reforder): self
{
$this->reforder = $reforder;
return $this;
}
public function getDeliveryDate(): ?\DateTimeInterface
{
return $this->deliveryDate;
}
public function setDeliveryDate(?\DateTimeInterface $deliveryDate): self
{
$this->deliveryDate = $deliveryDate;
return $this;
}
public function getDiscountAmount(): ?float
{
return $this->discountAmount;
}
public function setDiscountAmount(?float $v): self
{
$this->discountAmount = $v;
return $this;
}
public function getCouponRef(): ?string
{
return $this->couponRef;
}
public function setCouponRef(?string $v): self
{
$this->couponRef = $v;
return $this;
}
public function getTotalAfterDiscount(): ?float
{
return $this->totalAfterDiscount;
}
public function setTotalAfterDiscount(?float $v): self
{
$this->totalAfterDiscount = $v;
return $this;
}
public function __construct()
{
$this->detailsOrders = new ArrayCollection();
}
public function getDetailsOrders(): Collection
{
return $this->detailsOrders;
}
public function addDetailsOrder(DetailsOrders $details): self
{
if (!$this->detailsOrders->contains($details)) {
$this->detailsOrders[] = $details;
$details->setIdorder($this);
}
return $this;
}
public function removeDetailsOrder(DetailsOrders $details): self
{
if ($this->detailsOrders->removeElement($details)) {
if ($details->getIdorder() === $this) {
$details->setIdorder(null);
}
}
return $this;
}
}