PluginProbe ʕ •ᴥ•ʔ
Booking for Appointments and Events Calendar – Amelia / trunk
Booking for Appointments and Events Calendar – Amelia vtrunk
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 / Payment / AddPaymentController.php
ameliabooking / src / Application / Controller / Payment Last commit date
AddPaymentController.php 1 month ago CalculatePaymentAmountController.php 2 weeks ago DeletePaymentController.php 1 month ago GetPaymentController.php 1 month ago GetPaymentsController.php 1 month ago UpdatePaymentController.php 1 month ago
AddPaymentController.php
70 lines
1 <?php
2
3 /**
4 * @copyright © Melograno Ventures. All rights reserved.
5 * @licence See LICENCE.md for license details.
6 */
7
8 namespace AmeliaBooking\Application\Controller\Payment;
9
10 use AmeliaBooking\Application\Commands\Payment\AddPaymentCommand;
11 use AmeliaBooking\Application\Commands\CommandResult;
12 use AmeliaBooking\Application\Controller\Controller;
13 use AmeliaBooking\Domain\Events\DomainEventBus;
14 use AmeliaVendor\Psr\Http\Message\ServerRequestInterface as Request;
15
16 /**
17 * Class AddPaymentController
18 *
19 * @package AmeliaBooking\Application\Controller\Payment
20 */
21 class AddPaymentController extends Controller
22 {
23 /**
24 * @var array
25 */
26 protected $allowedFields = [
27 'customerBookingId',
28 'dateTime',
29 'status',
30 'gateway',
31 'gatewayTitle',
32 'data',
33 'packageCustomerId',
34 'amount',
35 'entity',
36 'actionsCompleted',
37 'wcOrderId',
38 'transactionId'
39 ];
40
41 /**
42 * Instantiates the Add Payment command to hand it over to the Command Handler
43 *
44 * @param Request $request
45 * @param $args
46 *
47 * @return AddPaymentCommand
48 * @throws \RuntimeException
49 */
50 protected function instantiateCommand(Request $request, $args)
51 {
52 $command = new AddPaymentCommand($args);
53 $requestBody = $request->getParsedBody();
54 $this->setCommandFields($command, $requestBody);
55
56 return $command;
57 }
58
59 /**
60 * @param DomainEventBus $eventBus
61 * @param CommandResult $result
62 *
63 * @return void
64 */
65 protected function emitSuccessEvent(DomainEventBus $eventBus, CommandResult $result)
66 {
67 $eventBus->emit('payment.added', $result);
68 }
69 }
70