Completed
Push — master ( 2861e0...f53090 )
by WEBEWEB
22:38 queued 10:22
created

AbstractController::newDeliveryReportCallback()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 14
rs 9.7998
c 0
b 0
f 0
cc 2
nc 1
nop 1
1
<?php
2
3
/*
4
 * This file is part of the smsmode-bundle package.
5
 *
6
 * (c) 2019 WEBEWEB
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace WBW\Bundle\SMSModeBundle\Controller;
13
14
use DateTime;
15
use Symfony\Component\HttpFoundation\Request;
16
use WBW\Bundle\CoreBundle\Controller\AbstractController as BaseController;
17
use WBW\Library\SMSMode\Model\DeliveryReportCallback;
18
use WBW\Library\SMSMode\Model\SMSReplyCallback;
19
20
/**
21
 * Abstract controller
22
 *
23
 * @author webeweb <https://github.com/webeweb/>
24
 * @package WBW\Bundle\SMSModeBundle\Controller
25
 * @abstract
26
 */
27
abstract class AbstractController extends BaseController {
28
29
    /**
30
     * Creates a Delivery report callback.
31
     *
32
     * @param Request $request The request.
33
     * @return DeliveryReportCallback Returns the delivery report callback.
34
     */
35
    protected function newDeliveryReportCallback(Request $request) {
36
37
        $dateReception = DateTime::createFromFormat("Y-m-d H:i:s", $request->query->get(DeliveryReportCallback::PARAMETER_DATE_RECEPTION));
38
39
        $deliveryReportCallback = new DeliveryReportCallback();
40
        $deliveryReportCallback->setDateReception(false !== $dateReception ? $dateReception : null);
41
        $deliveryReportCallback->setMccMnc($request->query->get(DeliveryReportCallback::PARAMETER_MCC_MNC));
42
        $deliveryReportCallback->setNumero($request->query->get(DeliveryReportCallback::PARAMETER_NUMERO));
43
        $deliveryReportCallback->setRefClient($request->query->get(DeliveryReportCallback::PARAMETER_REF_CLIENT));
44
        $deliveryReportCallback->setSmsID($request->query->get(DeliveryReportCallback::PARAMETER_SMS_ID));
45
        $deliveryReportCallback->setStatus($request->query->getInt(DeliveryReportCallback::PARAMETER_STATUT));
46
47
        return $deliveryReportCallback;
48
    }
49
50
    /**
51
     * Creates a SMS reply callback.
52
     *
53
     * @param Request $request The request.
54
     * @return SMSReplyCallback Returns the SMS reply callback.
55
     */
56
    protected function newSMSReplyCallback(Request $request) {
57
58
        $dateReception = DateTime::createFromFormat("dmY-His", $request->query->get(SMSReplyCallback::PARAMETER_DATE_RECEPTION));
59
60
        $smsReplyCallback = new SMSReplyCallback();
61
        $smsReplyCallback->setDateReception(false !== $dateReception ? $dateReception : null);
62
        $smsReplyCallback->setEmetteur($request->query->get(SMSReplyCallback::PARAMETER_EMETTEUR));
63
        $smsReplyCallback->setMessage($request->query->get(SMSReplyCallback::PARAMETER_MESSAGE));
64
        $smsReplyCallback->setNumero($request->query->get(SMSReplyCallback::PARAMETER_NUMERO));
65
        $smsReplyCallback->setRefClient($request->query->get(SMSReplyCallback::PARAMETER_REF_CLIENT));
66
        $smsReplyCallback->setResponseID($request->query->get(SMSReplyCallback::PARAMETER_RESPONSE_ID));
67
        $smsReplyCallback->setSmsID($request->query->get(SMSReplyCallback::PARAMETER_SMS_ID));
68
69
        return $smsReplyCallback;
70
    }
71
}
72