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
+8 -2
View File
@@ -5,22 +5,26 @@ namespace App\Form\Model;
use App\BusProNet\Model\Booking;
use App\BusProNet\Model\PersonalData;
use App\BusProNet\Model\Service;
use App\BusProNet\Model\Travel;
use App\Validator\Constraints as AppAssert;
use Symfony\Component\Validator\Constraints as Assert;
#[AppAssert\Booking]
#[Assert\GroupSequence(['BookingData', 'Api'])]
#[AppAssert\Booking(groups:['Api'])]
class BookingData
{
public ?Booking $booking = null;
public ?Travel $travel = null;
#[Assert\Valid]
public array $participants = [];
public static function fromBooking(Booking $booking): static
public static function fromBooking(Booking $booking, Travel $travel): static
{
$instance = new static();
$instance->booking = $booking;
$instance->travel = $travel;
foreach ($booking->participants as $index => $participant) {
/** @var PersonalData $participant */
@@ -41,6 +45,8 @@ class BookingData
->getTransportationServiceForParticipantAndDirection($index, 'H');
$participantData->transportationServiceFro = $booking
->getTransportationServiceForParticipantAndDirection($index, 'R');
$participantData->pickup = $booking->getPickupForParticipant($index);
$instance->participants[$index] = $participantData;
}