<?php
namespace App\Entity;
use App\MDS\EventsBundle\Entity\ProposalDocument;
use App\Repository\CardRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Serializer\Annotation\Groups;
/**
* @ORM\Entity(repositoryClass=CardRepository::class)
*/
class Card
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*
* @Groups({"card:read"})
*/
private $id;
/**
* @ORM\Column(type="string", length=255)
*
* @Groups({"card:read"})
*/
private $name;
/**
* @ORM\Column(type="integer", nullable=true)
*
* @Groups({"card:read"})
*/
private $number;
/**
* @ORM\Column(type="integer")
*
* @Groups({"card:read"})
*/
private $status;
/**
* @ORM\Column(type="datetime_immutable")
*/
private $createdAt;
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=false)
*/
private $createdId;
/**
* @ORM\Column(type="datetime_immutable")
*/
private $updatedAt;
/**
* @ORM\ManyToOne(targetEntity=User::class)
* @ORM\JoinColumn(nullable=false)
*/
private $updatedId;
/**
* @ORM\OneToMany(targetEntity=ProposalDocument::class, mappedBy="card")
*/
private $proposalDocuments;
public function __construct()
{
$this->proposalDocuments = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getNumber(): ?int
{
return $this->number;
}
public function setNumber(?int $number): self
{
$this->number = $number;
return $this;
}
public function getStatus(): ?int
{
return $this->status;
}
public function setStatus(int $status): self
{
$this->status = $status;
return $this;
}
public function getCreatedAt(): ?\DateTimeImmutable
{
return $this->createdAt;
}
public function setCreatedAt(\DateTimeImmutable $createdAt): self
{
$this->createdAt = $createdAt;
return $this;
}
public function getCreatedId(): ?int
{
return $this->createdId;
}
public function setCreatedId(int $createdId): self
{
$this->createdId = $createdId;
return $this;
}
public function getUpdatedAt(): ?\DateTimeImmutable
{
return $this->updatedAt;
}
public function setUpdatedAt(\DateTimeImmutable $updatedAt): self
{
$this->updatedAt = $updatedAt;
return $this;
}
public function getUpdatedId(): ?User
{
return $this->updatedId;
}
public function setUpdatedId(?User $updatedId): self
{
$this->updatedId = $updatedId;
return $this;
}
/**
* @return Collection<int, ProposalDocument>
*/
public function getProposalDocuments(): Collection
{
return $this->proposalDocuments;
}
public function addProposalDocument(ProposalDocument $proposalDocument): self
{
if (!$this->proposalDocuments->contains($proposalDocument)) {
$this->proposalDocuments[] = $proposalDocument;
$proposalDocument->setCard($this);
}
return $this;
}
public function removeProposalDocument(ProposalDocument $proposalDocument): self
{
if ($this->proposalDocuments->removeElement($proposalDocument)) {
// set the owning side to null (unless already changed)
if ($proposalDocument->getCard() === $this) {
$proposalDocument->setCard(null);
}
}
return $this;
}
}