PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.11
Booking for Appointments and Events Calendar – Amelia v1.2.11
2.4.4 2.4.3 2.4.2 2.4.1 2.4 trunk 1.2.1 1.2.10 1.2.11 1.2.12 1.2.13 1.2.14 1.2.15 1.2.16 1.2.17 1.2.18 1.2.19 1.2.2 1.2.20 1.2.21 1.2.22 1.2.23 1.2.24 1.2.25 1.2.26 1.2.27 1.2.28 1.2.29 1.2.3 1.2.30 1.2.31 1.2.32 1.2.33 1.2.34 1.2.35 1.2.36 1.2.37 1.2.38 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 2.0 2.0.1 2.0.2 2.1 2.1.1 2.1.2 2.1.3 2.2 2.2.1 2.3
ameliabooking / src / Application / Controller / Booking / Appointment / SuccessfulBookingController.php
ameliabooking / src / Application / Controller / Booking / Appointment Last commit date
AddAppointmentController.php 2 years ago AddBookingController.php 2 years ago ApproveBookingRemotelyController.php 2 years ago CancelBookingController.php 6 years ago CancelBookingRemotelyController.php 2 years ago DeleteAppointmentController.php 7 years ago DeleteBookingController.php 4 years ago GetAppointmentController.php 5 years ago GetAppointmentsController.php 4 years ago GetIcsController.php 4 years ago GetPackageAppointmentsController.php 1 year ago GetTimeSlotsController.php 1 year ago ReassignBookingController.php 5 years ago RejectBookingRemotelyController.php 2 years ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 2 years ago UpdateAppointmentStatusController.php 4 years ago UpdateAppointmentTimeController.php 1 year ago
SuccessfulBookingController.php
68 lines
1 <?php
2
3 namespace AmeliaBooking\Application\Controller\Booking\Appointment;
4
5 use AmeliaBooking\Application\Commands\Booking\Appointment\SuccessfulBookingCommand;
6 use AmeliaBooking\Application\Commands\CommandResult;
7 use AmeliaBooking\Application\Controller\Controller;
8 use AmeliaBooking\Domain\Events\DomainEventBus;
9 use RuntimeException;
10 use Slim\Http\Request;
11
12 /**
13 * Class SuccessfulBookingController
14 *
15 * @package AmeliaBooking\Application\Controller\Booking\Appointment
16 */
17 class SuccessfulBookingController extends Controller
18 {
19 /**
20 * Fields for successful booking that can be received from front-end
21 *
22 * @var array
23 */
24 public $allowedFields = [
25 'type',
26 'appointmentStatusChanged',
27 'recurring',
28 'packageId',
29 'isPackageAppointment',
30 'customer',
31 'paymentId',
32 'packageCustomerId',
33 ];
34
35 /**
36 * Instantiates the SuccessfulBooking command to hand it over to the Command Handler
37 *
38 * @param Request $request
39 * @param $args
40 *
41 * @return SuccessfulBookingCommand
42 * @throws RuntimeException
43 */
44 protected function instantiateCommand(Request $request, $args)
45 {
46 $command = new SuccessfulBookingCommand($args);
47
48 $requestBody = $request->getParsedBody();
49
50 $this->setCommandFields($command, $requestBody);
51
52 return $command;
53 }
54
55 /**
56 * @param DomainEventBus $eventBus
57 * @param CommandResult $result
58 *
59 * @return void
60 */
61 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
62 {
63 if ($result->getData()) {
64 $eventBus->emit('BookingAdded', $result);
65 }
66 }
67 }
68