<?php
namespace App\Entity;
use App\Repository\StockRepository;
use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=StockRepository::class)
*/
class Stock
{
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\Column(type="integer")
*/
private $qtAvailable;
/**
* @ORM\Column(type="integer")
*/
private $qtReserved;
/**
* @ORM\ManyToOne(targetEntity=Produit::class, inversedBy="stocks")
*/
private $produit;
/**
* @ORM\ManyToOne(targetEntity=ProduitDeclinationValue::class, inversedBy="stocks")
*/
private $declinationProduit;
/**
* @ORM\Column(type="string", length=255)
*/
private $storehouse;
/**
* @ORM\OneToMany(targetEntity=Activity::class, mappedBy="stock")
*/
private $activities;
public function __construct()
{
$this->activities = new ArrayCollection();
}
public function getId(): ?int
{
return $this->id;
}
public function getQtAvailable(): ?int
{
return $this->qtAvailable;
}
public function setQtAvailable(int $qtAvailable): self
{
$this->qtAvailable = $qtAvailable;
return $this;
}
public function getQtReserved(): ?int
{
return $this->qtReserved;
}
public function setQtReserved(int $qtReserved): self
{
$this->qtReserved = $qtReserved;
return $this;
}
public function getProduit(): ?Produit
{
return $this->produit;
}
public function setProduit(?Produit $produit): self
{
$this->produit = $produit;
return $this;
}
public function getDeclinationProduit(): ?ProduitDeclinationValue
{
return $this->declinationProduit;
}
public function setDeclinationProduit(?ProduitDeclinationValue $declinationProduit): self
{
$this->declinationProduit = $declinationProduit;
return $this;
}
public function getStorehouse(): ?string
{
return $this->storehouse;
}
public function setStorehouse(string $storehouse): self
{
$this->storehouse = $storehouse;
return $this;
}
/**
* @return Collection|Activity[]
*/
public function getActivities(): Collection
{
return $this->activities;
}
public function addActivity(Activity $activity): self
{
if (!$this->activities->contains($activity)) {
$this->activities[] = $activity;
$activity->setStock($this);
}
return $this;
}
public function removeActivity(Activity $activity): self
{
if ($this->activities->removeElement($activity)) {
// set the owning side to null (unless already changed)
if ($activity->getStock() === $this) {
$activity->setStock(null);
}
}
return $this;
}
}