Passed
Push — main ( 314caa...efe81e )
by Aleksandr
08:32
created

CreateBasketRequest::removeAutoSend()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DalliSDK\Requests;
6
7
use DalliSDK\Models\Order;
8
use DalliSDK\Responses\CreateBasketResponse;
9
use JMS\Serializer\Annotation as JMS;
10
11
/**
12
 * Запрос на добавление заявки в корзину
13
 *
14
 * @see https://api.dalli-service.com/v1/doc/createbasket
15
 * @JMS\XmlRoot("basketcreate")
16
 */
17
class CreateBasketRequest extends AbstractRequest implements RequestInterface
18
{
19
    public const RESPONSE_CLASS = CreateBasketResponse::class;
20
21
    /**
22
     * Можно указать "T", тогда заказ сразу отправится в забор, минуя корзину.
23
     * Идентично добавлению заказа в корзину,
24
     * а затем его отправки через метод sendbasket (необязательный атрибут)
25
     *
26
     * @JMS\XmlAttribute()
27
     * @JMS\Type("string")
28
     * @JMS\SerializedName("autosend")
29
     */
30
    private ?string $autoSend = null;
31
32
    /**
33
     * @JMS\Type("array<DalliSDK\Models\Order>")
34
     * @JMS\XmlList(inline = true, entry = "order")
35
     * @var Order[]
36
     */
37
    private array $orders = [];
38
39
    /**
40
     * @return Order[]
41
     */
42 2
    public function getOrders(): array
43
    {
44 2
        return $this->orders;
45
    }
46
47
    /**
48
     * @param Order $order
49
     *
50
     * @return CreateBasketRequest
51
     */
52 2
    public function addOrder(Order $order): CreateBasketRequest
53
    {
54 2
        $this->orders[] = $order;
55 2
        return $this;
56
    }
57
58
    /**
59
     * @return CreateBasketRequest
60
     */
61 2
    public function forgetOrders(): CreateBasketRequest
62
    {
63 2
        $this->orders = [];
64 2
        return $this;
65
    }
66
67
    /**
68
     * @return bool
69
     */
70 2
    public function getAutoSend(): bool
71
    {
72 2
        return $this->autoSend === 'T';
73
    }
74
75
    /**
76
     * @return CreateBasketRequest
77
     */
78 1
    public function setAutoSend(): CreateBasketRequest
79
    {
80 1
        $this->autoSend = "T";
81 1
        return $this;
82
    }
83
84
    /**
85
     * @return CreateBasketRequest
86
     */
87 1
    public function removeAutoSend(): CreateBasketRequest
88
    {
89 1
        $this->autoSend = null;
90 1
        return $this;
91
    }
92
}
93