src/Aviatur/FlightBundle/Entity/SpecialDiscountReservation.php line 13

Open in your IDE?
  1. <?php
  2. namespace Aviatur\FlightBundle\Entity;
  3. use Doctrine\ORM\Mapping as ORM;
  4. /**
  5.  * SpecialDiscountReservation.
  6.  *
  7.  * @ORM\Table(name="special_discount_reservation", indexes={@ORM\Index(name="special_discount_id", columns={"special_discount_id"}), @ORM\Index(name="order_product_id", columns={"order_product_id"})})
  8.  * @ORM\Entity
  9.  */
  10. class SpecialDiscountReservation
  11. {
  12.     /**
  13.      * @var int
  14.      *
  15.      * @ORM\Column(name="id", type="integer", nullable=false)
  16.      * @ORM\Id
  17.      * @ORM\GeneratedValue(strategy="IDENTITY")
  18.      */
  19.     private $id;
  20.     /**
  21.      * @ORM\ManyToOne(targetEntity="SpecialDiscount", inversedBy="specialDiscountReservation"))
  22.      * @ORM\JoinColumns({
  23.      *   @ORM\JoinColumn(name="special_discount_id", referencedColumnName="id")
  24.      * })
  25.      */
  26.     private ?\Aviatur\FlightBundle\Entity\SpecialDiscount $specialDiscount null;
  27.     /**
  28.      *
  29.      * @ORM\ManyToOne(targetEntity="Aviatur\GeneralBundle\Entity\OrderProduct", inversedBy="specialDiscountReservation")
  30.      * @ORM\JoinColumns({
  31.      *   @ORM\JoinColumn(name="order_product_id", referencedColumnName="id")
  32.      * })
  33.      */
  34.     private ?\Aviatur\GeneralBundle\Entity\OrderProduct $orderProduct null;
  35.     /**
  36.      * @var int
  37.      *
  38.      * @ORM\Column(name="value", type="integer", nullable=true)
  39.      */
  40.     private $value;
  41.     /**
  42.      * @var int
  43.      *
  44.      * @ORM\Column(name="discount", type="integer", nullable=true)
  45.      */
  46.     private $discount;
  47.     /**
  48.      * @var string
  49.      *
  50.      * @ORM\Column(name="additionalInfo", type="string", length=100, nullable=true)
  51.      */
  52.     private $additionalinfo;
  53.     /**
  54.      * Get id.
  55.      *
  56.      * @return int
  57.      */
  58.     public function getId()
  59.     {
  60.         return $this->id;
  61.     }
  62.     /**
  63.      * Set specialDiscount.
  64.      *
  65.      * @param \Aviatur\FlightBundle\Entity\SpecialDiscount $specialDiscount
  66.      *
  67.      * @return SpecialDiscountReservation
  68.      */
  69.     public function setSpecialDiscount(\Aviatur\FlightBundle\Entity\SpecialDiscount $specialDiscount null)
  70.     {
  71.         $this->specialDiscount $specialDiscount;
  72.         return $this;
  73.     }
  74.     /**
  75.      * Get specialDiscount.
  76.      *
  77.      * @return \Aviatur\FlightBundle\Entity\SpecialDiscount
  78.      */
  79.     public function getSpecialDiscount()
  80.     {
  81.         return $this->specialDiscount;
  82.     }
  83.     /**
  84.      * Set orderProduct.
  85.      *
  86.      * @param \Aviatur\GeneralBundle\Entity\OrderProduct $orderProduct
  87.      *
  88.      * @return SpecialDiscountReservation
  89.      */
  90.     public function setOrderProduct(\Aviatur\GeneralBundle\Entity\OrderProduct $orderProduct null)
  91.     {
  92.         $this->orderProduct $orderProduct;
  93.         return $this;
  94.     }
  95.     /**
  96.      * Get orderProduct.
  97.      *
  98.      * @return \Aviatur\GeneralBundle\Entity\OrderProduct
  99.      */
  100.     public function getOrderProduct()
  101.     {
  102.         return $this->orderProduct;
  103.     }
  104.     /**
  105.      * Set value.
  106.      *
  107.      * @param int $value
  108.      *
  109.      * @return SpecialDiscountReservation
  110.      */
  111.     public function setValue($value)
  112.     {
  113.         $this->value $value;
  114.         return $this;
  115.     }
  116.     /**
  117.      * Get value.
  118.      *
  119.      * @return int
  120.      */
  121.     public function getValue()
  122.     {
  123.         return $this->value;
  124.     }
  125.     /**
  126.      * Set discount.
  127.      *
  128.      * @param int $discount
  129.      *
  130.      * @return SpecialDiscountReservation
  131.      */
  132.     public function setDiscount($discount)
  133.     {
  134.         $this->discount $discount;
  135.         return $this;
  136.     }
  137.     /**
  138.      * Get discount.
  139.      *
  140.      * @return int
  141.      */
  142.     public function getDiscount()
  143.     {
  144.         return $this->discount;
  145.     }
  146.     /**
  147.      * Set additionalinfo.
  148.      *
  149.      * @param string $additionalinfo
  150.      *
  151.      * @return SpecialDiscountReservation
  152.      */
  153.     public function setAdditionalinfo($additionalinfo)
  154.     {
  155.         $this->additionalinfo $additionalinfo;
  156.         return $this;
  157.     }
  158.     /**
  159.      * Get additionalinfo.
  160.      *
  161.      * @return string
  162.      */
  163.     public function getAdditionalinfo()
  164.     {
  165.         return $this->additionalinfo;
  166.     }
  167.     /**
  168.      * Get ticketQuantity.
  169.      *
  170.      * @return string
  171.      */
  172.     public function getTicketQuantity()
  173.     {
  174.         return sizeof(json_decode($this->additionalinfo));
  175.     }
  176.     /**
  177.      * Get emissionDate.
  178.      *
  179.      * @return \DateTime
  180.      */
  181.     public function getEmissionDate()
  182.     {
  183.         $date $this->orderProduct->getUpdatingdate();
  184.         return $date->format('Y-m-d');
  185.     }
  186.     /**
  187.      * Get ticketInfo.
  188.      *
  189.      * @return string
  190.      */
  191.     public function getTicketInfo()
  192.     {
  193.         $additionalInfos json_decode($this->additionalinfo);
  194.         $tickets '';
  195.         if (null != $additionalInfos) {
  196.             foreach ($additionalInfos as $additionalInfo) {
  197.                 $tickets .= $additionalInfo->ticket.'-';
  198.             }
  199.         }
  200.         $tickets trim($tickets'-');
  201.         return $tickets.';'.$this->orderProduct->getBooking();
  202.     }
  203.     /**
  204.      * Get itinerary.
  205.      *
  206.      * @return string
  207.      */
  208.     public function getItinerary()
  209.     {
  210.         $productData $this->orderProduct->getAddproductdata();
  211.         $explodedInfo explode('<![CDATA['str_replace(']]>''<![CDATA['$productData));
  212.         $itineraries = \simplexml_load_string('<Info>'.$explodedInfo[1].'</Info>');
  213.         $itineraryStr '';
  214.         foreach ($itineraries->itineraries->itinerary as $itinerary) {
  215.             $itineraryStr .= $itinerary->departure_airport->code.'=>'.$itinerary->arrival_airport->code.'('.$itinerary->class_trip->code.') ';
  216.         }
  217.         $itineraryStr trim($itineraryStr);
  218.         return $itineraryStr;
  219.     }
  220.     /**
  221.      * Get itineraryDetail.
  222.      *
  223.      * @return string
  224.      */
  225.     public function getItineraryDetail()
  226.     {
  227.         $productData $this->orderProduct->getAddproductdata();
  228.         $explodedInfo explode('<![CDATA['str_replace(']]>''<![CDATA['$productData));
  229.         $itineraries = \simplexml_load_string('<Info>'.$explodedInfo[1].'</Info>');
  230.         $itineraryStr '';
  231.         foreach ($itineraries->itineraries->itinerary as $itinerary) {
  232.             $itineraryStr .= $itinerary->departure_airport->code.'('.$itinerary->departure_datetime.')=>'.$itinerary->arrival_airport->code.'('.$itinerary->arrival_datetime.') ';
  233.         }
  234.         $itineraryStr trim($itineraryStr);
  235.         return $itineraryStr;
  236.     }
  237. }