PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / 1.2.5
Booking for Appointments and Events Calendar – Amelia v1.2.5
2.4.9 2.4.8 2.4.7 2.4.6 2.4.5 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 1 year ago AddBookingController.php 1 year ago ApproveBookingRemotelyController.php 1 year ago CancelBookingController.php 1 year ago CancelBookingRemotelyController.php 1 year ago DeleteAppointmentController.php 1 year ago DeleteBookingController.php 1 year ago GetAppointmentController.php 1 year ago GetAppointmentsController.php 1 year ago GetIcsController.php 1 year ago GetTimeSlotsController.php 1 year ago ReassignBookingController.php 1 year ago RejectBookingRemotelyController.php 1 year ago SuccessfulBookingController.php 1 year ago UpdateAppointmentController.php 1 year ago UpdateAppointmentStatusController.php 1 year ago UpdateAppointmentTimeController.php 1 year ago
SuccessfulBookingController.php
67 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 'customer',
30 'paymentId',
31 'packageCustomerId',
32 ];
33
34 /**
35 * Instantiates the SuccessfulBooking command to hand it over to the Command Handler
36 *
37 * @param Request $request
38 * @param $args
39 *
40 * @return SuccessfulBookingCommand
41 * @throws RuntimeException
42 */
43 protected function instantiateCommand(Request $request, $args)
44 {
45 $command = new SuccessfulBookingCommand($args);
46
47 $requestBody = $request->getParsedBody();
48
49 $this->setCommandFields($command, $requestBody);
50
51 return $command;
52 }
53
54 /**
55 * @param DomainEventBus $eventBus
56 * @param CommandResult $result
57 *
58 * @return void
59 */
60 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
61 {
62 if ($result->getData()) {
63 $eventBus->emit('BookingAdded', $result);
64 }
65 }
66 }
67