src/DcSiteBundle/Entity/ServiceWorkGroup.php line 13

Open in your IDE?
  1. <?php
  2. namespace DcSiteBundle\Entity;
  3. use Doctrine\Common\Collections\ArrayCollection;
  4. use CoreBundle\Entity\Dealer;
  5. use Application\Sonata\MediaBundle\Entity\Media;
  6. use Doctrine\Common\Collections\Collection;
  7. /**
  8.  * ServiceWorkGroup
  9.  */
  10. class ServiceWorkGroup
  11. {
  12.     /**
  13.      * @var integer
  14.      */
  15.     private $id;
  16.     /**
  17.      * @var string
  18.      */
  19.     private $title_ru;
  20.     /**
  21.      * @var string
  22.      */
  23.     private $title_ua;
  24.     /**
  25.      * @var Media
  26.      */
  27.     private $image;
  28.     /**
  29.      * @var string
  30.      */
  31.     private $image_hash;
  32.     /**
  33.      * @var string
  34.      */
  35.     private $uid;
  36.     public function __toString()
  37.     {
  38.         return $this->getTitleRu();
  39.     }
  40.     /**
  41.      * Get id
  42.      *
  43.      * @return integer
  44.      */
  45.     public function getId()
  46.     {
  47.         return $this->id;
  48.     }
  49.     public function getTitle($locale)
  50.     {
  51.         return $locale == 'ru' $this->getTitleRu() : $this->getTitleUa();
  52.     }
  53.     /**
  54.      * Set titleRu
  55.      *
  56.      * @param string $titleRu
  57.      *
  58.      * @return ServiceWorkGroup
  59.      */
  60.     public function setTitleRu($titleRu)
  61.     {
  62.         $this->title_ru $titleRu;
  63.         return $this;
  64.     }
  65.     /**
  66.      * Get titleRu
  67.      *
  68.      * @return string
  69.      */
  70.     public function getTitleRu()
  71.     {
  72.         return $this->title_ru;
  73.     }
  74.     /**
  75.      * Set titleUa
  76.      *
  77.      * @param string $titleUa
  78.      *
  79.      * @return ServiceWorkGroup
  80.      */
  81.     public function setTitleUa($titleUa)
  82.     {
  83.         $this->title_ua $titleUa;
  84.         return $this;
  85.     }
  86.     /**
  87.      * Get titleUa
  88.      *
  89.      * @return string
  90.      */
  91.     public function getTitleUa()
  92.     {
  93.         return $this->title_ua;
  94.     }
  95.     /**
  96.      * Set uid
  97.      *
  98.      * @param string $uid
  99.      *
  100.      * @return ServiceWorkGroup
  101.      */
  102.     public function setUid($uid)
  103.     {
  104.         $this->uid $uid;
  105.         return $this;
  106.     }
  107.     /**
  108.      * Get uid
  109.      *
  110.      * @return string
  111.      */
  112.     public function getUid()
  113.     {
  114.         return $this->uid;
  115.     }
  116.     
  117.     /**
  118.      * @var integer
  119.      */
  120.     private $position;
  121.     /**
  122.      * Set position
  123.      *
  124.      * @param integer $position
  125.      *
  126.      * @return ServiceWorkGroup
  127.      */
  128.     public function setPosition($position)
  129.     {
  130.         $this->position $position;
  131.         return $this;
  132.     }
  133.     /**
  134.      * Get position
  135.      *
  136.      * @return integer
  137.      */
  138.     public function getPosition()
  139.     {
  140.         return $this->position;
  141.     }
  142.     /**
  143.      * @var \DcSiteBundle\Entity\ServiceWorkGroup
  144.      */
  145.     private $parent;
  146.     /**
  147.      * Set parent
  148.      *
  149.      * @param \DcSiteBundle\Entity\ServiceWorkGroup $parent
  150.      *
  151.      * @return ServiceWorkGroup
  152.      */
  153.     public function setParent(\DcSiteBundle\Entity\ServiceWorkGroup $parent null)
  154.     {
  155.         $this->parent $parent;
  156.         return $this;
  157.     }
  158.     /**
  159.      * Get parent
  160.      *
  161.      * @return \DcSiteBundle\Entity\ServiceWorkGroup
  162.      */
  163.     public function getParent()
  164.     {
  165.         return $this->parent;
  166.     }
  167.     public function getParentNodes(ServiceWorkGroup $node null$parents = []): array
  168.     {
  169.         $node = ($node) ?: $this;
  170.         if (null !== $node->getParent()) {
  171.             /** @var ServiceWorkGroup $parent */
  172.             $parent $node->getParent();
  173.             $parents[] = $parent;
  174.             return $parent->getParentNodes($parent$parents);
  175.         }
  176.         return $parents;
  177.     }
  178.     /**
  179.      * @var string
  180.      */
  181.     private $parent_uid;
  182.     /**
  183.      * @var Collection
  184.      */
  185.     private $child;
  186.     /**
  187.      * Constructor
  188.      */
  189.     public function __construct()
  190.     {
  191.         $this->child = new ArrayCollection();
  192.     }
  193.     /**
  194.      * Set parentUid
  195.      *
  196.      * @param string $parentUid
  197.      *
  198.      * @return ServiceWorkGroup
  199.      */
  200.     public function setParentUid($parentUid)
  201.     {
  202.         $this->parent_uid $parentUid;
  203.         return $this;
  204.     }
  205.     /**
  206.      * Get parentUid
  207.      *
  208.      * @return string
  209.      */
  210.     public function getParentUid()
  211.     {
  212.         return $this->parent_uid;
  213.     }
  214.     /**
  215.      * Add child
  216.      *
  217.      * @param \DcSiteBundle\Entity\ServiceWorkGroup $child
  218.      *
  219.      * @return ServiceWorkGroup
  220.      */
  221.     public function addChild(\DcSiteBundle\Entity\ServiceWorkGroup $child)
  222.     {
  223.         $this->child[] = $child;
  224.         return $this;
  225.     }
  226.     /**
  227.      * Remove child
  228.      *
  229.      * @param \DcSiteBundle\Entity\ServiceWorkGroup $child
  230.      */
  231.     public function removeChild(\DcSiteBundle\Entity\ServiceWorkGroup $child)
  232.     {
  233.         $this->child->removeElement($child);
  234.     }
  235.     /**
  236.      * Get child
  237.      *
  238.      * @return Collection
  239.      */
  240.     public function getChild()
  241.     {
  242.         return $this->child;
  243.     }
  244.     /**
  245.      * @var string
  246.      */
  247.     private $url;
  248.     /**
  249.      * Set url
  250.      *
  251.      * @param string $url
  252.      *
  253.      * @return ServiceWorkGroup
  254.      */
  255.     public function setUrl($url)
  256.     {
  257.         $this->url $url;
  258.         return $this;
  259.     }
  260.     /**
  261.      * Get url
  262.      *
  263.      * @return string
  264.      */
  265.     public function getUrl()
  266.     {
  267.         return $this->url;
  268.     }
  269.     /**
  270.      * @var Collection
  271.      */
  272.     private $works;
  273.     /**
  274.      * Add work
  275.      *
  276.      * @param ServiceWork $work
  277.      *
  278.      * @return ServiceWorkGroup
  279.      */
  280.     public function addWork(ServiceWork $work)
  281.     {
  282.         $this->works[] = $work;
  283.         return $this;
  284.     }
  285.     /**
  286.      * Remove work
  287.      *
  288.      * @param ServiceWork $work
  289.      */
  290.     public function removeWork(ServiceWork $work)
  291.     {
  292.         $this->works->removeElement($work);
  293.     }
  294.     /**
  295.      * Get works
  296.      *
  297.      * @return Collection
  298.      */
  299.     public function getWorks()
  300.     {
  301.         return $this->works;
  302.     }
  303.     /**
  304.      * @var Dealer
  305.      */
  306.     private $dealer;
  307.     /**
  308.      * Set dealer
  309.      *
  310.      * @param Dealer $dealer
  311.      *
  312.      * @return ServiceWorkGroup
  313.      */
  314.     public function setDealer(Dealer $dealer null)
  315.     {
  316.         $this->dealer $dealer;
  317.         return $this;
  318.     }
  319.     /**
  320.      * Get dealer
  321.      *
  322.      * @return Dealer
  323.      */
  324.     public function getDealer()
  325.     {
  326.         return $this->dealer;
  327.     }
  328.     /**
  329.      * Set image
  330.      *
  331.      * @param Media $image
  332.      *
  333.      * @return ServiceWorkGroup
  334.      */
  335.     public function setImage(Media $image null)
  336.     {
  337.         $this->image $image;
  338.         return $this;
  339.     }
  340.     /**
  341.      * Get image
  342.      *
  343.      * @return Media
  344.      */
  345.     public function getImage()
  346.     {
  347.         return $this->image;
  348.     }
  349.     /**
  350.      * Set imageHash
  351.      *
  352.      * @param string $imageHash
  353.      *
  354.      * @return ServiceWorkGroup
  355.      */
  356.     public function setImageHash($imageHash)
  357.     {
  358.         $this->image_hash $imageHash;
  359.         return $this;
  360.     }
  361.     /**
  362.      * Get imageHash
  363.      *
  364.      * @return string
  365.      */
  366.     public function getImageHash()
  367.     {
  368.         return $this->image_hash;
  369.     }
  370. }