src/Entity/PurchaseInstructionRule.php line 20

Open in your IDE?
  1. <?php
  2. namespace App\Entity;
  3. use App\Entity\User;
  4. use Doctrine\ORM\Mapping as ORM;
  5. use Gedmo\Mapping\Annotation as Gedmo;
  6. use Symfony\Component\Validator\Constraints as Assert;
  7. /**
  8.  * Purchase instruction rules.
  9.  * Each user can set how many cars he wants to buy during each sale.
  10.  *
  11.  * @author Paweł Jędrzejewski <pjedrzejewski@diweb.pl>
  12.  *
  13.  * @ORM\Entity(repositoryClass="App\Repository\PurchaseInstructionRuleRepository")
  14.  *
  15.  * @ORM\Table(name="purchase_instruction_rule")
  16.  */
  17. class PurchaseInstructionRule
  18. {
  19.     /**
  20.      * @ORM\Id
  21.      *
  22.      * @ORM\Column(type="bigint")
  23.      *
  24.      * @ORM\GeneratedValue(strategy="AUTO")
  25.      */
  26.     protected $id;
  27.     /**
  28.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="purchaseInstructionRules")
  29.      *
  30.      * @ORM\JoinColumn(name="user_id", referencedColumnName="id")
  31.      */
  32.     protected $user;
  33.     /**
  34.      * @ORM\ManyToOne(targetEntity="App\Entity\Sale", inversedBy="purchaseInstructionRules")
  35.      *
  36.      * @ORM\JoinColumn(name="sale_id", referencedColumnName="id")
  37.      */
  38.     protected $sale;
  39.     /**
  40.      * @Gedmo\Timestampable(on="create")
  41.      *
  42.      * @ORM\Column(type="datetime", name="created_at")
  43.      */
  44.     protected $createdAt;
  45.     /**
  46.      * @Gedmo\Timestampable(on="update")
  47.      *
  48.      * @ORM\Column(type="datetime", name="updated_at")
  49.      */
  50.     protected $updatedAt;
  51.     public function __construct(User $userSale $sale/**
  52.      * @ORM\Column(type="integer")
  53.      *
  54.      * @Assert\Range(min = 1)
  55.      */
  56.         protected $quantity 1)
  57.     {
  58.         $this->user $user;
  59.         $this->sale $sale;
  60.     }
  61.     /**
  62.      * @return int
  63.      */
  64.     public function getId()
  65.     {
  66.         return $this->id;
  67.     }
  68.     /**
  69.      * Returns user.
  70.      *
  71.      * @return App\Entity\User
  72.      */
  73.     public function getUser()
  74.     {
  75.         return $this->user;
  76.     }
  77.     /**
  78.      * Sets user.
  79.      *
  80.      * @param App\Entity\User $user
  81.      */
  82.     public function setUser(?User $user null): void
  83.     {
  84.         $this->user $user;
  85.     }
  86.     /**
  87.      * Returns the sale.
  88.      *
  89.      * @return App\Entity\Sale
  90.      */
  91.     public function getSale()
  92.     {
  93.         return $this->sale;
  94.     }
  95.     /**
  96.      * Sets the sale.
  97.      */
  98.     public function setSale(Sale $sale): void
  99.     {
  100.         $this->sale $sale;
  101.     }
  102.     /**
  103.      * Returns the quantity of vehicles.
  104.      *
  105.      * @return int
  106.      */
  107.     public function getQuantity()
  108.     {
  109.         return $this->quantity;
  110.     }
  111.     /**
  112.      * Sets the quantity of vehicles.
  113.      *
  114.      * @param int $quantity
  115.      */
  116.     public function setQuantity($quantity): void
  117.     {
  118.         $this->quantity $quantity;
  119.     }
  120.     /**
  121.      * Returns time of creation.
  122.      *
  123.      * @return \DateTime
  124.      */
  125.     public function getCreatedAt()
  126.     {
  127.         return $this->createdAt;
  128.     }
  129.     /**
  130.      * Sets time of creation.
  131.      */
  132.     public function setCreatedAt(\DateTime $createdAt): void
  133.     {
  134.         $this->createdAt $createdAt;
  135.     }
  136.     /**
  137.      * Returns time of update.
  138.      *
  139.      * @return \DateTime
  140.      */
  141.     public function getUpdatedAt()
  142.     {
  143.         return $this->updatedAt;
  144.     }
  145.     /**
  146.      * Sets time of update.
  147.      */
  148.     public function setUpdatedAt(\DateTime $updatedAt): void
  149.     {
  150.         $this->updatedAt $updatedAt;
  151.     }
  152. }