45 lines
1.4 KiB
PHP
45 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Controller\Administrative\System\Destination;
|
|
|
|
use App\Entity\Destination;
|
|
use App\Model\DestinationDto;
|
|
|
|
trait DestinationTrait
|
|
{
|
|
private function mapPickups(DestinationDto $destinationDto): array
|
|
{
|
|
$pickups = [];
|
|
|
|
foreach ($destinationDto->getPickups() as $pickupId) {
|
|
$pickup = $this->pickupDataProvider->get($pickupId);
|
|
$pickups[] = [
|
|
'busProId' => $pickup->getBusProId(),
|
|
'city' => $pickup->getCity(),
|
|
'street' => $pickup->getStreet(),
|
|
'time' => $pickup->getTime(),
|
|
];
|
|
}
|
|
|
|
return $pickups;
|
|
}
|
|
|
|
private function updateEntity(Destination $destination, DestinationDto $destinationDto): void
|
|
{
|
|
$hotel = $this->hotelDataProvider->get($destinationDto->getHotelBusProId());
|
|
$pickups = $this->mapPickups($destinationDto);
|
|
|
|
$destination
|
|
->setProduct($destinationDto->getProduct())
|
|
->setDateFrom($destinationDto->getDateFrom())
|
|
->setDateTo($destinationDto->getDateTo())
|
|
->setHotel($hotel->getName())
|
|
->setHotelCode($hotel->getCode())
|
|
->setHotelBusProId($hotel->getBusProId())
|
|
->setCountry($destinationDto->getCountry())
|
|
->setPickups($pickups)
|
|
->setCostUnit($destinationDto->getCostUnit())
|
|
;
|
|
}
|
|
}
|