<?php
namespace Aviatur\FlightBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Churning.
*
* @ORM\Table(name="churning_activity_log", indexes={@ORM\Index(name="order_id", columns={"order_id"})})
* @ORM\Entity(repositoryClass="Aviatur\FlightBundle\Entity\ChurningActivityLogRepository")
*/
class ChurningActivityLog
{
/**
* @var int
*
* @ORM\Column(name="id", type="integer", nullable=false)
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
*
* @ORM\ManyToOne(targetEntity="Aviatur\FlightBundle\Entity\Churning", inversedBy="churningActivityLog")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="churning_id", referencedColumnName="id")
* })
*/
private ?\Aviatur\FlightBundle\Entity\Churning $churning = null;
/**
*
* @ORM\ManyToOne(targetEntity="Aviatur\AdminBundle\Entity\AdminUser", inversedBy="churningActivityLog")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="fos_user_user_id", referencedColumnName="id")
* })
*/
private ?\Aviatur\AdminBundle\Entity\AdminUser $fosUserUser = null;
/**
*
* @ORM\ManyToOne(targetEntity="Aviatur\GeneralBundle\Entity\Order", inversedBy="churningActivityLog")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="order_id", referencedColumnName="id")
* })
*/
private ?\Aviatur\GeneralBundle\Entity\Order $order = null;
/**
* @ORM\Column(name="updatingDate", type="datetime", nullable=false)
*/
private ?\DateTime $updatingdate = null;
/**
* @ORM\Column(name="bookingDate", type="datetime", nullable=false)
*/
private ?\DateTime $bookingdate = null;
/**
* @ORM\Column(name="flightDate", type="datetime", nullable=false)
*/
private ?\DateTime $flightdate = null;
/**
* @var string
*
* @ORM\Column(name="flightNumber", type="string", nullable=true)
*/
private $flightnumber;
/**
* @ORM\Column(name="departureDate", type="datetime", nullable=false)
*/
private ?\DateTime $departureDate = null;
/**
* @ORM\Column(name="arrivalDate", type="datetime", nullable=true)
*/
private ?\DateTime $arrivalDate = null;
/**
* @ORM\Column(name="birthDate", type="datetime", nullable=true)
*/
private ?\DateTime $birthdate = null;
/**
* @ORM\Column(name="comment", type="string", nullable=true)
*/
private $comment;
/**
* @var string
*
* @ORM\Column(name="document", type="string", nullable=false)
*/
private $document;
/**
* @var string
*
* @ORM\Column(name="name", type="string", nullable=false)
*/
private $name;
/**
* @var int
*
* @ORM\Column(name="tryNumber", type="integer", nullable=false)
*/
private $trynumber;
/**
* @var int
*
* @ORM\Column(name="enabled", type="integer", nullable=false)
*/
private $enabled;
/**
* Get id.
*
* @return int
*/
public function getId()
{
return $this->id;
}
/**
* Set updatingdate.
*
* @return ChurningActivityLog
*/
public function setUpdatingdate(\DateTime $updatingdate)
{
$this->updatingdate = $updatingdate;
return $this;
}
/**
* Get updatingdate.
*
* @return \DateTime
*/
public function getUpdatingdate()
{
return $this->updatingdate;
}
/**
* Set bookingdate.
*
* @return ChurningActivityLog
*/
public function setBookingdate(\DateTime $bookingdate)
{
$this->bookingdate = $bookingdate;
return $this;
}
/**
* Get bookingdate.
*
* @return \DateTime
*/
public function getBookingdate()
{
return $this->bookingdate;
}
/**
* Set flightdate.
*
* @return ChurningActivityLog
*/
public function setFlightdate(\DateTime $flightdate)
{
$this->flightdate = $flightdate;
return $this;
}
/**
* Get flightdate.
*
* @return \DateTime|null
*/
public function getFlightdate()
{
return $this->flightdate;
}
/**
* Set departureDate.
*
* @return ChurningActivityLog
*/
public function setDepartureDate(?\DateTime $departureDate)
{
$this->departureDate = $departureDate;
return $this;
}
/**
* Get departureDate.
*
* @return \DateTime|null
*/
public function getDepartureDate()
{
return $this->departureDate;
}
/**
* Set arrivalDate.
*
* @return ChurningActivityLog
*/
public function setArrivalDate(?\DateTime $arrivalDate)
{
$this->arrivalDate = $arrivalDate;
return $this;
}
/**
* Get arrivalDate.
*
* @return \DateTime|null
*/
public function getArrivalDate()
{
return $this->arrivalDate;
}
/**
* Set birthDate.
*
* @return ChurningActivityLog
*/
public function setBirthdate(\DateTime $birthdate = null)
{
$this->birthdate = $birthdate;
return $this;
}
/**
* Get birthDate.
*
* @return \DateTime|null
*/
public function getBirthdate()
{
return $this->birthdate;
}
/**
* Set comment.
*
* @return ChurningActivityLog
*/
public function setComment(string $comment = null)
{
$this->comment = $comment;
return $this;
}
/**
* Set flightnumber.
*
* @param string $flightnumber
*
* @return ChurningActivityLog
*/
public function setFlightnumber($flightnumber)
{
$this->flightnumber = $flightnumber;
return $this;
}
/**
* Get flightnumber.
*
* @return string
*/
public function getFlightnumber()
{
return $this->flightnumber;
}
/**
* Set document.
*
* @param string $document
*
* @return ChurningActivityLog
*/
public function setDocument($document)
{
$this->document = $document;
return $this;
}
/**
* Get document.
*
* @return string
*/
public function getDocument()
{
return $this->document;
}
/**
* Set name.
*
* @param string $name
*
* @return ChurningActivityLog
*/
public function setName($name)
{
$this->name = $name;
return $this;
}
/**
* Get name.
*
* @return string
*/
public function getName()
{
return $this->name;
}
/**
* Set trynumber.
*
* @param string $trynumber
*
* @return ChurningActivityLog
*/
public function setTrynumber($trynumber)
{
$this->trynumber = $trynumber;
return $this;
}
/**
* Get trynumber.
*
* @return string
*/
public function getTrynumber()
{
return $this->trynumber;
}
/**
* Set enabled.
*
* @param string $enabled
*
* @return ChurningActivityLog
*/
public function setEnabled($enabled)
{
$this->enabled = $enabled;
return $this;
}
/**
* Get enabled.
*
* @return string
*/
public function getEnabled()
{
return $this->enabled;
}
/**
* Get comment.
*
* @return string
*/
public function getComment()
{
return $this->comment;
}
/**
* Set churning.
*
* @param \Aviatur\FlightBundle\Entity\Churning $churning
*
* @return ChurningActivityLog
*/
public function setChurning(\Aviatur\FlightBundle\Entity\Churning $churning = null)
{
$this->churning = $churning;
return $this;
}
/**
* Get churning.
*
* @return \Aviatur\FlightBundle\Entity\Churning
*/
public function getChurning()
{
return $this->churning;
}
/**
* Set fos_user_user.
*
* @param \Aviatur\AdminBundle\Entity\AdminUser $fosUserUser
*
* @return ChurningActivityLog
*/
public function setFosUserUser(\Aviatur\AdminBundle\Entity\AdminUser $fosUserUser = null)
{
$this->fosUserUser = $fosUserUser;
return $this;
}
/**
* Get fos_user_user.
*
* @return \Aviatur\AdminBundle\Entity\AdminUser
*/
public function getFosUserUser()
{
return $this->fosUserUser;
}
/**
* Set order.
*
* @param \Aviatur\GeneralBundle\Entity\Order $order
*
* @return ChurningActivityLog
*/
public function setOrder(\Aviatur\GeneralBundle\Entity\Order $order = null)
{
$this->order = $order;
return $this;
}
/**
* Get order.
*
* @return \Aviatur\GeneralBundle\Entity\Order
*/
public function getOrder()
{
return $this->order;
}
/**
* Get number of booking (Calculated).
*
* @return string
*/
public function getBooking()
{
$order = $this->getOrder();
$orderProductList = !is_null($order) ? $order->getOrderProduct() : array();
$bookingList = '';
$arrayBookings = array();
foreach ($orderProductList as $orderProduct) {
if(!is_null($orderProduct->getBooking()) && '' != $orderProduct->getBooking()){
if(!in_array($orderProduct->getBooking(), $arrayBookings)){
$bookingList = ($bookingList == '' ? '' : ', ').$orderProduct->getBooking();
$arrayBookings[] = $orderProduct->getBooking();
}
}
}
return $bookingList;
}
}