FileMaster
Search
Toggle Dark Mode
Home
/
.
/
wp-content
/
plugins
/
ameliabooking
/
src
/
Domain
/
Entity
/
Booking
/
Event
Edit File: Event.php
<?php /** * @copyright © TMS-Plugins. All rights reserved. * @licence See LICENCE.md for license details. */ namespace AmeliaBooking\Domain\Entity\Booking\Event; use AmeliaBooking\Domain\Collection\Collection; use AmeliaBooking\Domain\Entity\Bookable\AbstractBookable; use AmeliaBooking\Domain\Entity\Entities; use AmeliaBooking\Domain\Entity\Location\Location; use AmeliaBooking\Domain\ValueObjects\BooleanValueObject; use AmeliaBooking\Domain\ValueObjects\DateTime\DateTimeValue; use AmeliaBooking\Domain\ValueObjects\Number\Integer\Id; use AmeliaBooking\Domain\ValueObjects\Number\Integer\IntegerValue; use AmeliaBooking\Domain\ValueObjects\Recurring; use AmeliaBooking\Domain\ValueObjects\String\BookingStatus; use AmeliaBooking\Domain\ValueObjects\String\BookableType; use AmeliaBooking\Domain\ValueObjects\String\Name; use AmeliaBooking\Domain\ValueObjects\Json; /** * Class Event * * @package AmeliaBooking\Domain\Entity\Booking\Event */ class Event extends AbstractBookable { /** @var Id */ protected $parentId; /** @var BookingStatus */ protected $status; /** @var Collection */ protected $bookings; /** @var DateTimeValue */ protected $bookingOpens; /** @var DateTimeValue */ protected $bookingCloses; /** @var string */ protected $bookingOpensRec; /** @var string */ protected $bookingClosesRec; /** @var string */ protected $ticketRangeRec; /** @var Recurring */ private $recurring; /** @var IntegerValue */ private $maxCapacity; /** @var BooleanValueObject */ private $show; /** @var Collection */ protected $periods; /** @var Collection */ private $tags; /** @var Collection */ private $gallery; /** @var Collection */ private $providers; /** @var bool */ protected $notifyParticipants; /** @var Id */ protected $locationId; /** @var Location */ private $location; /** @var Name */ protected $customLocation; /** @var DateTimeValue */ protected $created; /** @var Name */ private $zoomUserId; /** @var Id */ private $organizerId; /** @var BooleanValueObject */ private $bringingAnyone; /** @var BooleanValueObject */ private $bookMultipleTimes; /** @var Json */ protected $translations; /** @var Collection */ private $customTickets; /** @var BooleanValueObject */ private $customPricing; /** @var IntegerValue */ private $maxCustomCapacity; /** @var IntegerValue */ private $closeAfterMin; /** @var BooleanValueObject */ private $closeAfterMinBookings; /** @var BooleanValueObject */ private $aggregatedPrice; /** @var IntegerValue */ private $maxExtraPeople; /** @var DateTimeValue|null */ private $initialEventStart; /** @var DateTimeValue|null */ private $initialEventEnd; /** * @return Id */ public function getParentId() { return $this->parentId; } /** * @param Id $parentId */ public function setParentId(Id $parentId) { $this->parentId = $parentId; } /** * @return Recurring */ public function getRecurring() { return $this->recurring; } /** * @param Recurring $recurring */ public function setRecurring(Recurring $recurring) { $this->recurring = $recurring; } /** * @return IntegerValue */ public function getMaxCapacity() { return $this->maxCapacity; } /** * @param IntegerValue $maxCapacity */ public function setMaxCapacity(IntegerValue $maxCapacity) { $this->maxCapacity = $maxCapacity; } /** * @return BooleanValueObject */ public function getShow() { return $this->show; } /** * @param BooleanValueObject $show */ public function setShow(BooleanValueObject $show) { $this->show = $show; } /** * @return Collection */ public function getBookings() { return $this->bookings; } /** * @param Collection $bookings */ public function setBookings(Collection $bookings) { $this->bookings = $bookings; } /** * @return Collection */ public function getPeriods() { return $this->periods; } /** * @param Collection $periods */ public function setPeriods(Collection $periods) { $this->periods = $periods; } /** * @return DateTimeValue */ public function getBookingOpens() { return $this->bookingOpens; } /** * @param DateTimeValue|null $bookingOpens */ public function setBookingOpens(DateTimeValue $bookingOpens = null) { $this->bookingOpens = $bookingOpens; } /** * @return DateTimeValue */ public function getBookingCloses() { return $this->bookingCloses; } /** * @param DateTimeValue|null $bookingCloses */ public function setBookingCloses(DateTimeValue $bookingCloses = null) { $this->bookingCloses = $bookingCloses; } /** * @return string */ public function getBookingOpensRec() { return $this->bookingOpensRec; } /** * @param string $bookingOpensRec */ public function setBookingOpensRec($bookingOpensRec) { $this->bookingOpensRec = $bookingOpensRec; } /** * @return string */ public function getBookingClosesRec() { return $this->bookingClosesRec; } /** * @param string $bookingClosesRec */ public function setBookingClosesRec($bookingClosesRec) { $this->bookingClosesRec = $bookingClosesRec; } /** * @return string */ public function getTicketRangeRec() { return $this->ticketRangeRec; } /** * @param string $ticketRangeRec */ public function setTicketRangeRec($ticketRangeRec) { $this->ticketRangeRec = $ticketRangeRec; } /** * @return BookingStatus */ public function getStatus() { return $this->status; } /** * @param BookingStatus $status */ public function setStatus(BookingStatus $status) { $this->status = $status; } /** * @return Collection */ public function getCustomTickets() { return $this->customTickets; } /** * @param Collection $customTickets */ public function setCustomTickets(Collection $customTickets) { $this->customTickets = $customTickets; } /** * @return Collection */ public function getTags() { return $this->tags; } /** * @param Collection $tags */ public function setTags(Collection $tags) { $this->tags = $tags; } /** * @return Collection */ public function getGallery() { return $this->gallery; } /** * @param Collection $gallery */ public function setGallery(Collection $gallery) { $this->gallery = $gallery; } /** * @return Collection */ public function getProviders() { return $this->providers; } /** * @param Collection $providers */ public function setProviders(Collection $providers) { $this->providers = $providers; } /** * @return bool */ public function isNotifyParticipants() { return $this->notifyParticipants; } /** * @param bool $notifyParticipants */ public function setNotifyParticipants($notifyParticipants) { $this->notifyParticipants = $notifyParticipants; } /** * @return Id */ public function getLocationId() { return $this->locationId; } /** * @param Id $locationId */ public function setLocationId(Id $locationId) { $this->locationId = $locationId; } /** * @return Location */ public function getLocation() { return $this->location; } /** * @param Location $location */ public function setLocation(Location $location) { $this->location = $location; } /** * @return Name */ public function getCustomLocation() { return $this->customLocation; } /** * @param Name $customLocation */ public function setCustomLocation(Name $customLocation) { $this->customLocation = $customLocation; } /** * @return DateTimeValue */ public function getCreated() { return $this->created; } /** * @param DateTimeValue $created */ public function setCreated(DateTimeValue $created) { $this->created = $created; } /** * @return Name */ public function getZoomUserId() { return $this->zoomUserId; } /** * @param Name $zoomUserId */ public function setZoomUserId(Name $zoomUserId) { $this->zoomUserId = $zoomUserId; } /** * @return Id */ public function getOrganizerId() { return $this->organizerId; } /** * @param Id $organizerId */ public function setOrganizerId($organizerId) { $this->organizerId = $organizerId; } /** * @return BookableType */ public function getType() { return new BookableType(Entities::EVENT); } /** * @return BooleanValueObject */ public function getBringingAnyone() { return $this->bringingAnyone; } /** * @param BooleanValueObject $bringingAnyone */ public function setBringingAnyone(BooleanValueObject $bringingAnyone) { $this->bringingAnyone = $bringingAnyone; } /** * @return BooleanValueObject */ public function getBookMultipleTimes() { return $this->bookMultipleTimes; } /** * @param BooleanValueObject $bookMultipleTimes */ public function setBookMultipleTimes(BooleanValueObject $bookMultipleTimes) { $this->bookMultipleTimes = $bookMultipleTimes; } /** * @return Json */ public function getTranslations() { return $this->translations; } /** * @param Json $translations */ public function setTranslations(Json $translations) { $this->translations = $translations; } /** * @return BooleanValueObject */ public function getCustomPricing() { return $this->customPricing; } /** * @param BooleanValueObject $customPricing */ public function setCustomPricing($customPricing) { $this->customPricing = $customPricing; } /** * @return IntegerValue */ public function getMaxCustomCapacity() { return $this->maxCustomCapacity; } /** * @param IntegerValue $maxCustomCapacity */ public function setMaxCustomCapacity($maxCustomCapacity) { $this->maxCustomCapacity = $maxCustomCapacity; } /** * @return IntegerValue */ public function getCloseAfterMin() { return $this->closeAfterMin; } /** * @param IntegerValue $closeAfterMin */ public function setCloseAfterMin($closeAfterMin) { $this->closeAfterMin = $closeAfterMin; } /** * @return BooleanValueObject */ public function getCloseAfterMinBookings() { return $this->closeAfterMinBookings; } /** * @param BooleanValueObject $closeAfterMinBookings */ public function setCloseAfterMinBookings($closeAfterMinBookings) { $this->closeAfterMinBookings = $closeAfterMinBookings; } /** * @return IntegerValue */ public function getMaxExtraPeople() { return $this->maxExtraPeople; } /** * @return DateTimeValue|null */ public function getInitialEventStart() { return $this->initialEventStart; } /** * @param DateTimeValue|null $initialEventStart */ public function setInitialEventStart($initialEventStart) { $this->initialEventStart = $initialEventStart; } /** * @return DateTimeValue|null */ public function getInitialEventEnd() { return $this->initialEventEnd; } /** * @param DateTimeValue|null $initialEventEnd */ public function setInitialEventEnd($initialEventEnd) { $this->initialEventEnd = $initialEventEnd; } /** * @param IntegerValue $maxExtraPeople */ public function setMaxExtraPeople($maxExtraPeople) { $this->maxExtraPeople = $maxExtraPeople; } /** * @return BooleanValueObject */ public function getAggregatedPrice() { return $this->aggregatedPrice; } /** * @param BooleanValueObject $aggregatedPrice */ public function setAggregatedPrice($aggregatedPrice) { $this->aggregatedPrice = $aggregatedPrice; } /** * @return array */ public function toArray() { return array_merge( parent::toArray(), [ 'bookings' => $this->getBookings() ? $this->getBookings()->toArray() : [], 'periods' => $this->getPeriods()->toArray(), 'bookingOpens' => $this->getBookingOpens() ? $this->getBookingOpens()->getValue()->format('Y-m-d H:i:s') : null, 'bookingCloses' => $this->getBookingCloses() ? $this->getBookingCloses()->getValue()->format('Y-m-d H:i:s') : null, 'bookingOpensRec' => $this->getBookingOpensRec(), 'bookingClosesRec' => $this->getBookingClosesRec(), 'ticketRangeRec' => $this->getTicketRangeRec(), 'status' => $this->getStatus() ? $this->getStatus()->getValue() : null, 'recurring' => $this->getRecurring() ? $this->getRecurring()->toArray() : null, 'maxCapacity' => $this->getMaxCapacity() ? $this->getMaxCapacity()->getValue() : null, 'maxCustomCapacity' => $this->getMaxCustomCapacity() ? $this->getMaxCustomCapacity()->getValue() : null, 'show' => $this->getShow() ? $this->getShow()->getValue() : null, 'tags' => $this->getTags() ? $this->getTags()->toArray() : null, 'customTickets' => $this->getCustomTickets() ? $this->getCustomTickets()->toArray() : [], 'gallery' => $this->getGallery() ? $this->getGallery()->toArray() : [], 'providers' => $this->getProviders() ? $this->getProviders()->toArray() : [], 'notifyParticipants' => $this->isNotifyParticipants(), 'locationId' => $this->getLocationId() ? $this->getLocationId()->getValue() : null, 'location' => $this->getLocation() ? $this->getLocation()->toArray() : null, 'customLocation' => $this->getCustomLocation() ? $this->getCustomLocation()->getValue() : null, 'parentId' => $this->getParentId() ? $this->getParentId()->getValue() : null, 'created' => $this->getCreated() ? $this->getCreated()->getValue()->format('Y-m-d H:i:s') : null, 'zoomUserId' => $this->getZoomUserId() ? $this->getZoomUserId()->getValue() : null, 'organizerId' => $this->getOrganizerId() ? $this->getOrganizerId()->getValue() : null, 'type' => $this->getType()->getValue(), 'bringingAnyone' => $this->getBringingAnyone() ? $this->getBringingAnyone()->getValue() : null, 'bookMultipleTimes' => $this->getBookMultipleTimes() ? $this->getBookMultipleTimes()->getValue() : null, 'translations' => $this->getTranslations() ? $this->getTranslations()->getValue() : null, 'customPricing' => $this->getCustomPricing() ? $this->getCustomPricing()->getValue() : null, 'closeAfterMin' => $this->getCloseAfterMin() ? $this->getCloseAfterMin()->getValue() : null, 'closeAfterMinBookings' => $this->getCloseAfterMinBookings() ? $this->getCloseAfterMinBookings()->getValue() : null, 'maxExtraPeople' => $this->getMaxExtraPeople() ? $this->getMaxExtraPeople()->getValue() : null, 'initialEventStart' => $this->getInitialEventStart() ? $this->getInitialEventStart()->getValue()->format('Y-m-d H:i:s') : null, 'initialEventEnd' => $this->getInitialEventEnd() ? $this->getInitialEventEnd()->getValue()->format('Y-m-d H:i:s') : null, 'aggregatedPrice' => $this->getAggregatedPrice() ? $this->getAggregatedPrice()->getValue() : null, ] ); } }
Save
Back