wip: continue implemntation

This commit is contained in:
Björn Fromme
2024-11-22 17:30:20 +01:00
parent bd13ae6537
commit d3786795e4
26 changed files with 798 additions and 494 deletions
@@ -52,7 +52,7 @@ class PickupDataLoader extends AbstractDataLoader
return $pickup;
}
public function enrichPickupsData(Travel $travel): void
public function patchPickupsDetails(Travel $travel): void
{
foreach ($travel->pickups as $pickupId => $pickup) {
$pickupData = $this->loadById($pickupId);
+36 -6
View File
@@ -3,8 +3,9 @@
namespace App\BusProNet\DataLoader;
use App\BusProNet\Model\BaseData;
use App\BusProNet\Model\CrmAttribute;
use App\BusProNet\Model\CrmAttributeGroup;
use App\BusProNet\Model\CrmSelection;
use App\BusProNet\Model\CrmSelectionGroup;
use App\BusProNet\Model\MutableData;
use App\BusProNet\Model\Pickup;
use App\BusProNet\Model\Room;
use App\BusProNet\Model\Service;
@@ -71,17 +72,17 @@ class TravelDataLoader extends AbstractDataLoader
foreach ($xml->selektiongruppe as $item) {
$groupId = (int) $item->attributes()['idbuspro'];
$selectionGroup = new CrmAttributeGroup();
$selectionGroup = new CrmSelectionGroup();
$selectionGroup->id = $groupId;
$selectionGroup->label = (string) $item->attributes()['bezeichnung'];
foreach ($item->selektion as $subItem) {
$selectionId = (int) $subItem->attributes()['idbuspro'];
$selection = new CrmAttribute();
$selection = new CrmSelection();
$selection->id = $selectionId;
$selection->label = (string) $subItem->attributes()['bezeichnung'];
$selectionGroups[$groupId]['selections'][$selectionId] = (string) $subItem->attributes()['bezeichnung'];
$selectionGroup->attributes[] = $selection;
$selectionGroup->selections[] = $selection;
}
$selectionGroups[$groupId] = $selectionGroup;
@@ -99,6 +100,7 @@ class TravelDataLoader extends AbstractDataLoader
$serviceId = (int) $attributes['idbuspro'];
$service = new Service();
$service->category = Service::CATEGORY_ADDITIONAL;
$service->id = $serviceId;
$service->subType = (string) $attributes['unterart'];
$service->mandatory = $this->stringToBool((string) $attributes['pflicht']);
@@ -123,6 +125,7 @@ class TravelDataLoader extends AbstractDataLoader
$serviceId = (int) $attributes['idbuspro'];
$service = new Service();
$service->category = Service::CATEGORY_TRANSPORTATION;
$service->id = $serviceId;
$service->subType = (string) $attributes['unterart'];
$service->dateFrom = $this->stringToDate((string) $attributes['termin']);
@@ -183,7 +186,34 @@ class TravelDataLoader extends AbstractDataLoader
return $rooms;
}
public function enrichServicesData(Travel $travel, BaseData $availabilities): void
public function patchMutability(Travel $travel, BaseData $mutableData): void
{
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_ADDITIONAL_SERVICES)) {
$travel->additionalServicesMutable = $item->mutable;
}
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_TRANSPORTATION)) {
$travel->transportationServicesMutable = $item->mutable;
}
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_PICKUP)) {
$travel->pickupsMutable = $item->mutable;
}
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_ACCOMMODATION)) {
$travel->roomsMutable = $item->mutable;
}
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_PARTICIPANT_COUNT)) {
$travel->participantCountMutable = $item->mutable;
}
if (null !== $item = $mutableData->getItemByKey(MutableData::CATEGORY_PARTICIPANT_DATA)) {
$travel->participantDataMutable = $item->mutable;
}
}
public function patchAvailabilities(Travel $travel, BaseData $availabilities): void
{
$serviceAvailabilities = $availabilities->getItems();