request = $request; } public function execute() : UpdateEventResponse { $response = new UpdateEventResponse(); if (count($this->request->paymentMethods) === 0) { $response->success = false; $response->message = 'Mindestens eine Zahlungsmöglichkeit muss ausgewählt sein.'; return $response; } $this->request->event->name = $this->request->eventName; $this->request->event->location = $this->request->eventLocation; $this->request->event->postal_code = $this->request->postalCode; $this->request->event->email = $this->request->email; $this->request->event->early_bird_end = $this->request->earlyBirdEnd; $this->request->event->registration_final_end = $this->request->registrationFinalEnd; $this->request->event->alcoholics_age = $this->request->alcoholicsAge; $this->request->event->support_per_person = $this->request->supportPerPerson; $this->request->event->support_flat = $this->request->flatSupport; $this->request->event->send_weekly_report = $this->request->sendWeeklyReports; $this->request->event->registration_allowed = $this->request->registrationAllowed; $this->request->event->save(); $this->request->event->resetAllowedEatingHabits(); $this->request->event->resetContributingLocalGroups(); $this->request->event->resetPaymentMethods(); foreach($this->request->eatingHabits as $eatingHabit) { $this->request->event->eatingHabits()->attach($eatingHabit); } foreach($this->request->contributingLocalGroups as $contributingLocalGroup) { $this->request->event->localGroups()->attach($contributingLocalGroup); } foreach($this->request->paymentMethods as $paymentMethod) { $this->request->event->paymentMethods()->attach($paymentMethod); } $this->request->event->save(); $response->success = true; return $response; } }