1 <?php
2
3 /* --------------------------------------------------------------
4 OrderItemRepositoryDeleter.inc.php 2015-12-23
5 Gambio GmbH
6 http://www.gambio.de
7 Copyright (c) 2015 Gambio GmbH
8 Released under the GNU General Public License (Version 2)
9 [http://www.gnu.org/licenses/gpl-2.0.html]
10 --------------------------------------------------------------
11 */
12
13 MainFactory::load_class('OrderItemRepositoryDeleterInterface');
14
15 /**
16 * Class OrderItemRepositoryDeleter
17 *
18 * @category System
19 * @package Order
20 * @subpackage Repositories
21 */
22 class OrderItemRepositoryDeleter implements OrderItemRepositoryDeleterInterface
23 {
24 /**
25 * Query builder.
26 * @var CI_DB_query_builder
27 */
28 protected $db;
29
30
31 /**
32 * OrderItemRepositoryDeleter constructor.
33 *
34 * @param CI_DB_query_builder $db Query builder.
35 */
36 public function __construct(CI_DB_query_builder $db)
37 {
38 $this->db = $db;
39 }
40
41
42 /**
43 * Removes an item from the order by the given order item ID.
44 *
45 * @param IdType $orderItemId ID of the order item.
46 *
47 * @return OrderItemRepositoryDeleter Same instance for method chaining.
48 */
49 public function deleteItemById(IdType $orderItemId)
50 {
51 $this->db->delete(array('orders_products', 'orders_products_download'),
52 array('orders_products_id' => $orderItemId->asInt()));
53 }
54
55
56 /**
57 * Removes multiple order items by the given order ID.
58 *
59 * @param IdType $orderId ID of the order.
60 *
61 * @return OrderItemRepositoryDeleter Same instance for method chaining.
62 */
63 public function deleteItemsByOrderId(IdType $orderId)
64 {
65 $this->db->delete(array('orders_products', 'orders_products_download'),
66 array('orders_id' => $orderId->asInt()));
67 }
68 }