src/Entity/Alert.php line 21

Open in your IDE?
  1. <?php
  2. /*
  3.  * This file is part of the VPAutoBundle package.
  4.  *
  5.  * (c) CNSX <http://www.cnsx.net/>
  6.  *
  7.  */
  8. namespace App\Entity;
  9. use Doctrine\ORM\Mapping as ORM;
  10. /**
  11.  * @ORM\Entity
  12.  *
  13.  * @ORM\Table(name="alert")
  14.  *
  15.  * @ORM\HasLifecycleCallbacks
  16.  */
  17. class Alert
  18. {
  19.     /**
  20.      * @ORM\Id
  21.      *
  22.      * @ORM\Column(type="integer")
  23.      *
  24.      * @ORM\GeneratedValue(strategy="AUTO")
  25.      */
  26.     protected $id;
  27.     /**
  28.      * @ORM\Column(type="string", length=255, nullable=true)
  29.      */
  30.     protected $name;
  31.     /**
  32.      * User.
  33.      *
  34.      * @ORM\ManyToOne(targetEntity="App\Entity\User", inversedBy="alerts")
  35.      */
  36.     protected $user;
  37.     /**
  38.      * @ORM\Column(type="string", nullable=true)
  39.      */
  40.     protected $room;
  41.     /**
  42.      * @ORM\Column(type="string", name="vehicle_group", nullable=true)
  43.      */
  44.     protected $group;
  45.     /**
  46.      * @ORM\Column(type="string", nullable=true)
  47.      */
  48.     protected $maker;
  49.     /**
  50.      * @ORM\Column(type="string", nullable=true)
  51.      */
  52.     protected $class;
  53.     /**
  54.      * @ORM\Column(type="string", nullable=true)
  55.      */
  56.     protected $category;
  57.     /**
  58.      * @ORM\Column(type="string", nullable=true)
  59.      */
  60.     protected $color;
  61.     /**
  62.      * @ORM\Column(type="string", nullable=true)
  63.      */
  64.     protected $model;
  65.     /**
  66.      * @ORM\Column(type="string", nullable=true)
  67.      */
  68.     protected $energy;
  69.     /**
  70.      * @ORM\Column(type="string", nullable=true)
  71.      */
  72.     protected $km_min;
  73.     /**
  74.      * @ORM\Column(type="string", nullable=true)
  75.      */
  76.     protected $km_max;
  77.     /**
  78.      * @ORM\Column(type="string", nullable=true)
  79.      */
  80.     protected $mileage_min;
  81.     /**
  82.      * @ORM\Column(type="string", nullable=true)
  83.      */
  84.     protected $mileage_max;
  85.     /**
  86.      * @ORM\Column(name="created_at", type="datetime")
  87.      */
  88.     protected $createdAt;
  89.     /**
  90.      * @ORM\Column(name="updated_at", type="datetime")
  91.      */
  92.     protected $updatedAt;
  93.     /**
  94.      * @var text
  95.      */
  96.     protected $type;
  97.     public function __construct()
  98.     {
  99.         $this->createdAt = new \DateTime('now');
  100.         $this->updatedAt $this->createdAt;
  101.         $this->type 'alert';
  102.     }
  103.     /**
  104.      * @ORM\PreUpdate
  105.      */
  106.     public function updatedAtChange(): void
  107.     {
  108.         $this->updatedAt = new \DateTime('now');
  109.     }
  110.     /**
  111.      * Set createdAt.
  112.      *
  113.      * @param datetime $createdAt
  114.      */
  115.     public function setCreatedAt($createdAt): void
  116.     {
  117.         $this->createdAt $createdAt;
  118.     }
  119.     /**
  120.      * Get createdAt.
  121.      *
  122.      * @return datetime
  123.      */
  124.     public function getCreatedAt()
  125.     {
  126.         return $this->createdAt;
  127.     }
  128.     /**
  129.      * Set updatedAt.
  130.      *
  131.      * @param datetime $updatedAt
  132.      */
  133.     public function setUpdatedAt($updatedAt): void
  134.     {
  135.         $this->updatedAt $updatedAt;
  136.     }
  137.     /**
  138.      * Get updatedAt.
  139.      *
  140.      * @return datetime
  141.      */
  142.     public function getUpdatedAt()
  143.     {
  144.         return $this->updatedAt;
  145.     }
  146.     /**
  147.      * Get user.
  148.      *
  149.      * @return user
  150.      */
  151.     public function getUser()
  152.     {
  153.         return $this->user;
  154.     }
  155.     /**
  156.      * Set user.
  157.      *
  158.      * @param user the value to set
  159.      */
  160.     public function setUser($user): void
  161.     {
  162.         $this->user $user;
  163.     }
  164.     /**
  165.      * Get room.
  166.      *
  167.      * @return room
  168.      */
  169.     public function getRoom()
  170.     {
  171.         return $this->room;
  172.     }
  173.     /**
  174.      * Set room.
  175.      *
  176.      * @param room the value to set
  177.      */
  178.     public function setRoom($room): void
  179.     {
  180.         $this->room $room;
  181.     }
  182.     /**
  183.      * Get id.
  184.      *
  185.      * @return id
  186.      */
  187.     public function getId()
  188.     {
  189.         return $this->id;
  190.     }
  191.     /**
  192.      * Set id.
  193.      *
  194.      * @param id the value to set
  195.      */
  196.     public function setId($id): void
  197.     {
  198.         $this->id $id;
  199.     }
  200.     /**
  201.      * Get name.
  202.      *
  203.      * @return name
  204.      */
  205.     public function getName()
  206.     {
  207.         return $this->name;
  208.     }
  209.     /**
  210.      * Set name.
  211.      *
  212.      * @param name the value to set
  213.      */
  214.     public function setName($name): void
  215.     {
  216.         $this->name $name;
  217.     }
  218.     /**
  219.      * Get group.
  220.      *
  221.      * @return group
  222.      */
  223.     public function getGroup()
  224.     {
  225.         return $this->group;
  226.     }
  227.     /**
  228.      * Set group.
  229.      *
  230.      * @param group the value to set
  231.      */
  232.     public function setGroup($group): void
  233.     {
  234.         $this->group $group;
  235.     }
  236.     /**
  237.      * Get maker.
  238.      *
  239.      * @return maker
  240.      */
  241.     public function getMaker()
  242.     {
  243.         return $this->maker;
  244.     }
  245.     /**
  246.      * Set maker.
  247.      *
  248.      * @param maker the value to set
  249.      */
  250.     public function setMaker($maker): void
  251.     {
  252.         $this->maker $maker;
  253.     }
  254.     /**
  255.      * Get class.
  256.      *
  257.      * @return class
  258.      */
  259.     public function getClass()
  260.     {
  261.         return $this->class;
  262.     }
  263.     /**
  264.      * Set class.
  265.      *
  266.      * @param string $class the value to set
  267.      */
  268.     public function setClass($class): void
  269.     {
  270.         $this->class $class;
  271.     }
  272.     /**
  273.      * Get category.
  274.      *
  275.      * @return category
  276.      */
  277.     public function getCategory()
  278.     {
  279.         return $this->category;
  280.     }
  281.     /**
  282.      * Set category.
  283.      *
  284.      * @param category the value to set
  285.      */
  286.     public function setCategory($category): void
  287.     {
  288.         $this->category $category;
  289.     }
  290.     /**
  291.      * Get color.
  292.      *
  293.      * @return color
  294.      */
  295.     public function getColor()
  296.     {
  297.         return $this->color;
  298.     }
  299.     /**
  300.      * Set color.
  301.      *
  302.      * @param string $color the value to set
  303.      */
  304.     public function setColor($color): void
  305.     {
  306.         $this->color $color;
  307.     }
  308.     /**
  309.      * Set type.
  310.      *
  311.      * @param string $type
  312.      */
  313.     public function setType($type): void
  314.     {
  315.         $this->type $type;
  316.     }
  317.     /**
  318.      * Get type.
  319.      *
  320.      * @return string
  321.      */
  322.     public function getType()
  323.     {
  324.         return $this->type;
  325.     }
  326.     /**
  327.      * Set model.
  328.      *
  329.      * @param string $model
  330.      */
  331.     public function setModel($model): void
  332.     {
  333.         $this->model $model;
  334.     }
  335.     /**
  336.      * Get model.
  337.      *
  338.      * @return string
  339.      */
  340.     public function getModel()
  341.     {
  342.         return $this->model;
  343.     }
  344.     /**
  345.      * Set energy.
  346.      *
  347.      * @param string $energy
  348.      */
  349.     public function setEnergy($energy): void
  350.     {
  351.         $this->energy $energy;
  352.     }
  353.     /**
  354.      * Get energy.
  355.      *
  356.      * @return string
  357.      */
  358.     public function getEnergy()
  359.     {
  360.         return $this->energy;
  361.     }
  362.     /**
  363.      * Set km_min.
  364.      *
  365.      * @param string $km_min
  366.      */
  367.     public function setKmMin($km_min): void
  368.     {
  369.         $this->km_min $km_min;
  370.     }
  371.     /**
  372.      * Get km_min.
  373.      *
  374.      * @return string
  375.      */
  376.     public function getKmMin()
  377.     {
  378.         return $this->km_min;
  379.     }
  380.     /**
  381.      * Set km_max.
  382.      *
  383.      * @param string $km_max
  384.      */
  385.     public function setKmMax($km_max): void
  386.     {
  387.         $this->km_max $km_max;
  388.     }
  389.     /**
  390.      * Get km_max.
  391.      *
  392.      * @return string
  393.      */
  394.     public function getKmMax()
  395.     {
  396.         return $this->km_max;
  397.     }
  398.     /**
  399.      * Set mileage_min.
  400.      *
  401.      * @param string $mileage_min
  402.      */
  403.     public function setMileageMin($mileage_min): void
  404.     {
  405.         $this->mileage_min $mileage_min;
  406.     }
  407.     /**
  408.      * Get mileage_min.
  409.      *
  410.      * @return string
  411.      */
  412.     public function getMileageMin()
  413.     {
  414.         return $this->mileage_min;
  415.     }
  416.     /**
  417.      * Set mileage_max.
  418.      *
  419.      * @param string $mileage_max
  420.      */
  421.     public function setMileageMax($mileage_max): void
  422.     {
  423.         $this->mileage_max $mileage_max;
  424.     }
  425.     /**
  426.      * Get mileage_max.
  427.      *
  428.      * @return string
  429.      */
  430.     public function getMileageMax()
  431.     {
  432.         return $this->mileage_max;
  433.     }
  434.     /**
  435.      * Get criteria.
  436.      *
  437.      * @return array
  438.      */
  439.     public function getCriteria()
  440.     {
  441.         $criteria = [];
  442.         foreach (['name''room''group''model''maker''energy''color',  'category'] as $col) {
  443.             $criteria[$col] = $this->$col;
  444.         }
  445.         foreach (['km''mileage'] as $col) {
  446.             $criteria[$col] = [
  447.                 'min' => $this->{$col.'_min'},
  448.                 'max' => $this->{$col.'_max'},
  449.             ];
  450.         }
  451.         return $criteria;
  452.     }
  453.     /**
  454.      * Set criteria.
  455.      *
  456.      * @param array the value to set
  457.      */
  458.     public function setCriteria(array $criteria = []): void
  459.     {
  460.         foreach ($criteria as $col => $value) {
  461.             if (is_array($value)) {
  462.                 if (isset($value['min'])) {
  463.                     $this->{$col.'_min'} = $value['min'];
  464.                 } else {
  465.                     $this->{$col.'_min'} = null;
  466.                 }
  467.                 if (isset($value['max'])) {
  468.                     $this->{$col.'_max'} = $value['max'];
  469.                 } else {
  470.                     $this->{$col.'_max'} = null;
  471.                 }
  472.             } else {
  473.                 $this->$col $value;
  474.             }
  475.         }
  476.     }
  477. }