1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131
<?php
/* --------------------------------------------------------------
OrderReadServiceInterface.php 2016-07-11
Gambio GmbH
http://www.gambio.de
Copyright (c) 2016 Gambio GmbH
Released under the GNU General Public License (Version 2)
[http://www.gnu.org/licenses/gpl-2.0.html]
--------------------------------------------------------------
*/
/**
* Interface OrderReadServiceInterface
*
* @category System
* @package Order
* @subpackage Interfaces
*/
interface OrderReadServiceInterface
{
/**
* Returns an order, depending on the provided order ID.
*
* @param IdType $orderId Order ID.
*
* @return Order Found order.
*/
public function getOrderById(IdType $orderId);
/**
* Returns a stored order item, depending on the provided order item ID.
*
* @param IdType $orderItemId Order item ID.
*
* @return StoredOrderItemInterface Found stored order item interface.
*/
public function getOrderItemById(IdType $orderItemId);
/**
* Returns an OrderListItemCollection depending on the provided arguments.
*
* @param IntType $startIndex Start index of order list item collections which should be returned.
* @param IntType $maxCount Maximum amount of collections.
* @param StringType $orderBy Argument to specify the order.
*
* @return OrderListItemCollection Order list item collection.
*/
public function getOrderList(IntType $startIndex = null, IntType $maxCount = null, StringType $orderBy = null);
/**
* Filter the order records with specific conditions.
*
* Provide the filtering values in the conditions array in order to fetch a filtered result set.
*
* @param array $filterParameters Contains an array of the GET parameters to be used for filtering the order
* records.
* @param IntType $startIndex Start index of order list item collections which should be returned.
* @param IntType $maxCount Maximum amount of collections.
* @param StringType $orderBy Argument to specify the order.
*
* @return OrderListItemCollection
*/
public function filterOrderList(array $filterParameters,
IntType $startIndex = null,
IntType $maxCount = null,
StringType $orderBy = null);
/**
* Get the filtered orders count.
*
* @param array $filterParameters
*
* @return int
*
* @throws BadMethodCallException
*/
public function filterOrderListCount(array $filterParameters);
/**
* Returns an OrderListItemCollection depending on the provided customer ID.
*
* @param IdType $customerId Customer ID
* @param IntType $startIndex Start index of order list item collections which should be returned.
* @param IntType $maxCount Maximum amount of collections.
* @param StringType $orderBy Argument to specify the order.
*
* @return OrderListItemCollection Order list item collection.
*/
public function getOrderListByCustomerId(IdType $customerId,
IntType $startIndex = null,
IntType $maxCount = null,
StringType $orderBy = null);
/**
* Returns an OrderListItemCollection depending on the provided order status ID.
*
* @param IntType $orderStatusId Order status ID
* @param IntType $startIndex Start index of order list item collections which should be returned.
* @param IntType $maxCount Maximum amount of collections.
* @param StringType $orderBy Argument to specify the order.
*
* @return OrderListItemCollection Order list item collection.
*/
public function getOrderListByOrderStatusId(IntType $orderStatusId,
IntType $startIndex = null,
IntType $maxCount = null,
StringType $orderBy = null);
/**
* Filter the order list by a string keyword.
*
* @param StringType $keyword Keyword to be used for searching the order list items.
* @param IntType $startIndex Start index of order list item collections which should be returned.
* @param IntType $maxCount Maximum amount of collections.
* @param StringType $orderBy Argument to specify the order.
*
* @return OrderListItemCollection Order list item collection.
*/
public function getOrderListByKeyword(StringType $keyword,
IntType $startIndex = null,
IntType $maxCount = null,
StringType $orderBy = null);
}