src/AppBundle/MainBundle/Entity/WP_Pricing_Data.php line 272

Open in your IDE?
  1. <?php
  2. namespace App\AppBundle\MainBundle\Entity;
  3. use App\AppBundle\AdminBundle\Entity\Admin_User;
  4. use Doctrine\Common\Collections\ArrayCollection;
  5. use Doctrine\Common\Collections\Collection;
  6. use Doctrine\ORM\Mapping as ORM;
  7. use Symfony\Component\Validator\Constraints as Assert;
  8. use JsonSerializable;
  9. /**
  10.  * AddOns
  11.  *
  12.  * @ORM\Entity
  13.  * @ORM\Table(name="wp_pricing_data")
  14.  * @ORM\HasLifecycleCallbacks()
  15.  */
  16. class WP_Pricing_Data implements JsonSerializable
  17. {
  18.     /**
  19.      * @ORM\Column(type="integer")
  20.      * @ORM\Id
  21.      * @ORM\GeneratedValue(strategy="AUTO")
  22.      */
  23.     private $id;
  24.     /**
  25.      * @ORM\Column(type="string", length=1024, nullable=false)
  26.      * @Assert\NotBlank()
  27.      */
  28.     private $area_name;
  29.     /**
  30.      * @ORM\Column(type="string", nullable=false)
  31.      * @Assert\NotBlank()
  32.      */
  33.     private $zip_code;
  34.     /**
  35.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=false)
  36.      * @Assert\NotBlank()
  37.      */
  38.     private $min_hourly_rate;
  39.     /**
  40.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=false)
  41.      * @Assert\NotBlank()
  42.      */
  43.     private $max_hourly_rate;
  44.     /**
  45.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=false)
  46.      * @Assert\NotBlank()
  47.      */
  48.     private $min_monthly_rate;
  49.     /**
  50.      * @ORM\Column(type="decimal", precision=10, scale=2, nullable=false)
  51.      * @Assert\NotBlank()
  52.      */
  53.     private $max_monthly_rate;
  54.     /**
  55.      * @ORM\ManyToOne(targetEntity="WP_Currency")
  56.      * @ORM\JoinColumn(name="wp_currency_id", referencedColumnName="id")
  57.      */
  58.     private $wp_currency;
  59.     /**
  60.      * @var Admin_User
  61.      * @ORM\ManyToOne(targetEntity="App\AppBundle\AdminBundle\Entity\Admin_User")
  62.      * @ORM\JoinColumn(name="created_by_admin_user_id", referencedColumnName="id")
  63.      */
  64.     private $createdBy;
  65.     /**
  66.      * @var Admin_User
  67.      * @ORM\ManyToOne(targetEntity="App\AppBundle\AdminBundle\Entity\Admin_User")
  68.      * @ORM\JoinColumn(name="updated_by_admin_user_id", referencedColumnName="id")
  69.      */
  70.     private $updatedBy;
  71.     /**
  72.      * @return mixed
  73.      */
  74.     public function getId()
  75.     {
  76.         return $this->id;
  77.     }
  78.     /**
  79.      * @return mixed
  80.      */
  81.     public function getAreaName()
  82.     {
  83.         return $this->area_name;
  84.     }
  85.     /**
  86.      * @param mixed $area_name
  87.      */
  88.     public function setAreaName($area_name)
  89.     {
  90.         $this->area_name $area_name;
  91.     }
  92.     /**
  93.      * @return mixed
  94.      */
  95.     public function getZipCode()
  96.     {
  97.         return $this->zip_code;
  98.     }
  99.     /**
  100.      * @param mixed $zip_code
  101.      */
  102.     public function setZipCode($zip_code)
  103.     {
  104.         $this->zip_code $zip_code;
  105.     }
  106.     /**
  107.      * @return mixed
  108.      */
  109.     public function getMinHourlyRate()
  110.     {
  111.         return $this->min_hourly_rate;
  112.     }
  113.     /**
  114.      * @param mixed $min_hourly_rate
  115.      */
  116.     public function setMinHourlyRate($min_hourly_rate)
  117.     {
  118.         $this->min_hourly_rate $min_hourly_rate;
  119.     }
  120.     /**
  121.      * @return mixed
  122.      */
  123.     public function getMaxHourlyRate()
  124.     {
  125.         return $this->max_hourly_rate;
  126.     }
  127.     /**
  128.      * @param mixed $max_hourly_rate
  129.      */
  130.     public function setMaxHourlyRate($max_hourly_rate)
  131.     {
  132.         $this->max_hourly_rate $max_hourly_rate;
  133.     }
  134.     /**
  135.      * @return mixed
  136.      */
  137.     public function getMinMonthlyRate()
  138.     {
  139.         return $this->min_monthly_rate;
  140.     }
  141.     /**
  142.      * @param mixed $min_monthly_rate
  143.      */
  144.     public function setMinMonthlyRate($min_monthly_rate)
  145.     {
  146.         $this->min_monthly_rate $min_monthly_rate;
  147.     }
  148.     /**
  149.      * @return mixed
  150.      */
  151.     public function getMaxMonthlyRate()
  152.     {
  153.         return $this->max_monthly_rate;
  154.     }
  155.     /**
  156.      * @param mixed $max_monthly_rate
  157.      */
  158.     public function setMaxMonthlyRate($max_monthly_rate)
  159.     {
  160.         $this->max_monthly_rate $max_monthly_rate;
  161.     }
  162.     /**
  163.      * @return WP_Currency
  164.      */
  165.     public function getWpCurrency()
  166.     {
  167.         return $this->wp_currency;
  168.     }
  169.     /**
  170.      * @param WP_Currency $wp_currency
  171.      */
  172.     public function setWpCurrency($wp_currency)
  173.     {
  174.         $this->wp_currency $wp_currency;
  175.     }
  176.     /**
  177.      * @return Admin_User
  178.      */
  179.     public function getCreatedBy()
  180.     {
  181.         return $this->createdBy;
  182.     }
  183.     /**
  184.      * @param Admin_User $createdBy
  185.      */
  186.     public function setCreatedBy(Admin_User $createdBy)
  187.     {
  188.         $this->createdBy $createdBy;
  189.     }
  190.     /**
  191.      * @return Admin_User
  192.      */
  193.     public function getUpdatedBy()
  194.     {
  195.         return $this->updatedBy;
  196.     }
  197.     /**
  198.      * @param Admin_User $updatedBy
  199.      */
  200.     public function setUpdatedBy(Admin_User $updatedBy)
  201.     {
  202.         $this->updatedBy $updatedBy;
  203.     }
  204.     public function jsonSerialize()
  205.     {
  206.         return array(
  207.             'id' => $this->id,
  208.             'area_name' => $this->area_name,
  209.             'zip_code' => $this->zip_code,
  210.             'min_hourly_rate' => $this->min_hourly_rate,
  211.             'max_hourly_rate' => $this->max_hourly_rate,
  212.             'min_monthly_rate' => $this->min_monthly_rate,
  213.             'max_monthly_rate' => $this->max_monthly_rate,
  214.             'currency' => $this->getWpCurrency()->getSymbol(),
  215.             'currency_id' => $this->getWpCurrency()->getId(),
  216.             'created_by_id' => $this->createdBy->getId(),
  217.             'updated_by_id' => $this->updatedBy->getId(),
  218.             'created_by_name' => $this->createdBy->getFirstName().' '.$this->createdBy->getLastName(),
  219.             'updated_by_name' => $this->updatedBy->getFirstName().' '.$this->updatedBy->getLastName(),
  220.             'created' => $this->createdAt->format('Y-m-d H:i:s'),
  221.             'updated' => $this->updatedAt->format('Y-m-d H:i:s'),
  222.         );
  223.     }
  224.     /**
  225.      * @var \DateTime $created
  226.      *
  227.      * @ORM\Column(name="created_at", type="datetime", nullable=false)
  228.      */
  229.     protected $createdAt;
  230.     /**
  231.      * @var \DateTime $updated
  232.      *
  233.      * @ORM\Column(name="updated_at", type="datetime", nullable=false)
  234.      */
  235.     protected $updatedAt;
  236.     public function getCreatedAt()
  237.     {
  238.         return $this->createdAt;
  239.     }
  240.     public function setCreatedAt($createdAt)
  241.     {
  242.         $this->createdAt $createdAt;
  243.         return $this;
  244.     }
  245.     public function getUpdatedAt()
  246.     {
  247.         return $this->updatedAt;
  248.     }
  249.     public function setUpdatedAt($updatedAt)
  250.     {
  251.         $this->updatedAt $updatedAt;
  252.         return $this;
  253.     }
  254.     /**
  255.      * @ORM\PrePersist
  256.      * @ORM\PreUpdate
  257.      */
  258.     public function updatedTimestamps()
  259.     {
  260.         $this->setUpdatedAt(new \DateTime());
  261.         if ($this->getCreatedAt() === null) {
  262.             $this->setCreatedAt(new \DateTime());
  263.         }
  264.     }
  265.     public function __construct() {
  266.         $this->setCreatedAt(new \DateTime());
  267.     }
  268. }