Passed
Branch request_builder (fdca7a)
by Jens
08:39
created

OrderRequestBuilder   A

Complexity

Total Complexity 9

Size/Duplication

Total Lines 80
Duplicated Lines 0 %

Test Coverage

Coverage 44.44%

Importance

Changes 0
Metric Value
wmc 9
dl 0
loc 80
ccs 8
cts 18
cp 0.4444
rs 10
c 0
b 0
f 0

9 Methods

Rating   Name   Duplication   Size   Complexity  
A createFromCart() 0 3 1
A getById() 0 3 1
A import() 0 3 1
A updateByOrderNumber() 0 3 1
A delete() 0 3 1
A query() 0 3 1
A deleteByOrderNumber() 0 3 1
A update() 0 3 1
A getByOrderNumber() 0 3 1
1
<?php
2
/**
3
 * @author @jenschude <[email protected]>
4
 */
5
6
namespace Commercetools\Core\Builder\Request;
7
8
use Commercetools\Core\Model\Cart\Cart;
9
use Commercetools\Core\Model\Order\ImportOrder;
10
use Commercetools\Core\Model\Order\Order;
11
use Commercetools\Core\Request\Orders\OrderByIdGetRequest;
12
use Commercetools\Core\Request\Orders\OrderByOrderNumberGetRequest;
13
use Commercetools\Core\Request\Orders\OrderCreateFromCartRequest;
14
use Commercetools\Core\Request\Orders\OrderDeleteByOrderNumberRequest;
15
use Commercetools\Core\Request\Orders\OrderDeleteRequest;
16
use Commercetools\Core\Request\Orders\OrderImportRequest;
17
use Commercetools\Core\Request\Orders\OrderQueryRequest;
18
use Commercetools\Core\Request\Orders\OrderUpdateByOrderNumberRequest;
19
use Commercetools\Core\Request\Orders\OrderUpdateRequest;
20
21
class OrderRequestBuilder
22
{
23
    /**
24
     * @return OrderQueryRequest
25
     */
26 1
    public function query()
27
    {
28 1
        return OrderQueryRequest::of();
29
    }
30
31
    /**
32
     * @param Order $order
33
     * @return OrderUpdateRequest
34
     */
35 1
    public function update(Order $order)
36
    {
37 1
        return OrderUpdateRequest::ofIdAndVersion($order->getId(), $order->getVersion());
38
    }
39
40
    /**
41
     * @param Order $order
42
     * @return OrderUpdateByOrderNumberRequest
43
     */
44
    public function updateByOrderNumber(Order $order)
45
    {
46
        return OrderUpdateByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
47
    }
48
49
    /**
50
     * @param Cart $cart
51
     * @return OrderCreateFromCartRequest
52
     */
53
    public function createFromCart(Cart $cart)
54
    {
55
        return OrderCreateFromCartRequest::ofCartIdAndVersion($cart->getId(), $cart->getVersion());
56
    }
57
58
    /**
59
     * @param Order $order
60
     * @return OrderDeleteRequest
61
     */
62 1
    public function delete(Order $order)
63
    {
64 1
        return OrderDeleteRequest::ofIdAndVersion($order->getId(), $order->getVersion());
65
    }
66
67
    /**
68
     * @param Order $order
69
     * @return OrderDeleteByOrderNumberRequest
70
     */
71
    public function deleteByOrderNumber(Order $order)
72
    {
73
        return OrderDeleteByOrderNumberRequest::ofOrderNumberAndVersion($order->getOrderNumber(), $order->getVersion());
74
    }
75
76
    /**
77
     * @param string $id
78
     * @return OrderByIdGetRequest
79
     */
80 1
    public function getById($id)
81
    {
82 1
        return OrderByIdGetRequest::ofId($id);
83
    }
84
85
    /**
86
     * @param $orderNumber
87
     * @return OrderByOrderNumberGetRequest
88
     */
89
    public function getByOrderNumber($orderNumber)
90
    {
91
        return OrderByOrderNumberGetRequest::ofOrderNumber($orderNumber);
92
    }
93
94
    /**
95
     * @param ImportOrder $importOrder
96
     * @return OrderImportRequest
97
     */
98
    public function import(ImportOrder $importOrder)
99
    {
100
        return OrderImportRequest::ofImportOrder($importOrder);
101
    }
102
}
103