<?php
namespace App\Entity;
use App\Repository\MaterialRepository;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass=MaterialRepository::class)
*/
class Material
{
const ADDED = 0;
const INPROGRESS = 1;
const INSTOCK = 2;
const SOLD = 3;
const LOCKED = 4;
public static $statuses = [
Material::ADDED=>'Rögzítve',
Material::INPROGRESS => 'Folyamatban',
Material::INSTOCK => 'Raktározva',
Material::SOLD => 'Eladva',
Material::LOCKED => 'Foglalva',
];
/**
* @ORM\Id
* @ORM\GeneratedValue
* @ORM\Column(type="integer")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity=Projects::class, inversedBy="supplies")
*/
private $project;
/**
* @ORM\Column(type="string", length=255)
*/
private $name;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $in_price_net;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $in_price_br;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $out_price_net;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $out_price_br;
/**
* @ORM\Column(type="string", length=255, nullable=true)
*/
private $supplier;
/**
* @ORM\Column(type="datetime", nullable=true)
*/
private $created;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $status;
/**
* @ORM\ManyToOne(targetEntity=ProjectProducts::class, inversedBy="materials")
*/
private $projectProducts;
/**
* @ORM\Column(type="integer", nullable=true)
*/
private $qty;
public function __construct()
{
$this->qty = 1;
}
public function getId(): ?int
{
return $this->id;
}
public function getProject(): ?Projects
{
return $this->project;
}
public function setProject(?Projects $project): self
{
$this->project = $project;
return $this;
}
public function getName(): ?string
{
return $this->name;
}
public function setName(string $name): self
{
$this->name = $name;
return $this;
}
public function getInPriceNet(): ?int
{
return $this->in_price_net;
}
public function setInPriceNet(?int $in_price_net): self
{
$this->in_price_net = $in_price_net;
return $this;
}
public function getInPriceBr(): ?int
{
return $this->in_price_br;
}
public function setInPriceBr(?int $in_price_br): self
{
$this->in_price_br = $in_price_br;
return $this;
}
public function getOutPriceNet(): ?int
{
return $this->out_price_net;
}
public function setOutPriceNet(?int $out_price_net): self
{
$this->out_price_net = $out_price_net;
return $this;
}
public function getOutPriceBr(): ?int
{
return $this->out_price_br;
}
public function setOutPriceBr(?int $out_price_br): self
{
$this->out_price_br = $out_price_br;
return $this;
}
public function getSupplier(): ?string
{
return $this->supplier;
}
public function setSupplier(?string $supplier): self
{
$this->supplier = $supplier;
return $this;
}
public function getCreated(): ?\DateTimeInterface
{
return $this->created;
}
public function setCreated(?\DateTimeInterface $created): self
{
$this->created = $created;
return $this;
}
public function getStatus(): ?int
{
return $this->status;
}
public function getStatusName(): ?string
{
return self::$statuses[$this->status];
}
public function setStatus(?int $status): self
{
$this->status = $status;
return $this;
}
public function getProjectProducts(): ?ProjectProducts
{
return $this->projectProducts;
}
public function setProjectProducts(?ProjectProducts $projectProducts): self
{
if($projectProducts){
$this->setProject($projectProducts->getProject());
}
$this->projectProducts = $projectProducts;
return $this;
}
public function getQty(): ?int
{
return $this->qty;
}
public function setQty(?int $qty): self
{
$this->qty = $qty;
return $this;
}
}