<?php
namespace App\Entity;
use DateTime;
use Doctrine\ORM\Mapping as ORM;
use Exception;
use Symfony\Component\Validator\Constraints as Assert;
/**
* MarketInfo
*
* @ORM\Table(name="malys_market_info")
* @ORM\Entity(repositoryClass="App\Repository\MarketInfoRepository")
* @ORM\HasLifecycleCallbacks()
*/
class MarketInfo
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
*
* @ORM\Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var string
*
* @ORM\Column(name="reason", type="string", length=255, nullable=true)
*/
private $reason;
/**
* @var string
*
* @ORM\Column(name="advice", type="string", length=255)
*/
private $advice;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\MarketBulletin", inversedBy="buyMarketInfos")
* @ORM\JoinColumn(name="buy_bulletin_id", referencedColumnName="id")
*/
protected $buyBulletin;
/**
* @ORM\ManyToOne(targetEntity="App\Entity\MarketBulletin", inversedBy="dontBuyMarketInfo")
* @ORM\JoinColumn(name="dont_buy_bulletin_id", referencedColumnName="id")
*/
protected $dontBuyBulletin;
/**
* @var int
*
* @ORM\Column(name="priority", type="integer")
* @Assert\NotBlank()
* @Assert\GreaterThan(0)
*/
private $priority;
/**
* @var DateTime
*
* @ORM\Column(name="createdAt", type="datetime", nullable=false)
*/
protected $createdAt;
/**
* @var DateTime
*
* @ORM\Column(name="updatedAt", type="datetime", nullable=true)
*/
protected $updatedAt;
/**
* Get id
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set name
*
* @param string $name
*
* @return MarketInfo
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set reason
*
* @param string $reason
*
* @return MarketInfo
*/
public function setReason($reason)
{
$this->reason = $reason;
return $this;
}
/**
* Get reason
*
* @return string
*/
public function getReason()
{
return $this->reason;
}
/**
* @return mixed
*/
public function getBuyBulletin()
{
return $this->buyBulletin;
}
/**
* @param mixed $buyBulletin
*/
public function setBuyBulletin($buyBulletin)
{
$this->buyBulletin = $buyBulletin;
}
/**
* @return int
*/
public function getPriority()
{
return $this->priority;
}
/**
* @param int $priority
*/
public function setPriority($priority)
{
$this->priority = $priority;
}
/**
* @return DateTime
*/
public function getCreatedAt()
{
return $this->createdAt;
}
/**
* @return MarketInfo
* @ORM\PrePersist()
* @throws Exception
*/
public function setCreatedAt()
{
$this->createdAt = new DateTime();
$this->updatedAt = new DateTime();
return $this;
}
/**
* @return DateTime
*/
public function getUpdatedAt()
{
return $this->updatedAt;
}
/**
* Set updatedAt
*
* @return MarketInfo
* @ORM\PreUpdate
* @throws Exception
*/
public function setUpdatedAt()
{
$updated = new DateTime();
return $this;
}
/**
* @return string
*/
public function getAdvice()
{
return $this->advice;
}
/**
* @param string $advice
*/
public function setAdvice($advice)
{
$this->advice = $advice;
}
/**
* @return mixed
*/
public function getDontBuyBulletin()
{
return $this->dontBuyBulletin;
}
/**
* @param mixed $dontBuyBulletin
*/
public function setDontBuyBulletin($dontBuyBulletin)
{
$this->dontBuyBulletin = $dontBuyBulletin;
}
}