35 private $filtersList = [];
40 private $filterMapper;
45 private $braintreeAdapterFactory;
62 parent::__construct($entityFactory);
63 $this->filterMapper = $filterMapper;
64 $this->braintreeAdapterFactory = $braintreeAdapterFactory;
79 $skipCounter = ($this->_curPage - 1) * $pageSize;
82 foreach ($this->collection as
$item) {
83 if ($skipCounter > 0) {
86 $entity = $this->_entityFactory->create($this->_itemObjectClass, [
'transaction' =>
$item]);
91 if ($pageSize && $counter >= $pageSize) {
107 if (empty($this->filtersList)) {
112 if (empty($this->collection)) {
114 $this->collection = $this->braintreeAdapterFactory->create()
118 return $this->collection;
181 return null === $collection ? 0 : $collection->maximumCount();
191 $pageSize = parent::getPageSize();
192 return $pageSize ===
null ? static::TRANSACTION_MAXIMUM_COUNT : $pageSize;
212 if (is_array($field)) {
216 if (!is_array($condition)) {
217 $condition = [
'eq' => $condition];
220 $this->addFilterToList($this->filterMapper->getFilter($field, $condition));
231 private function addFilterToList($filter)
233 if (
null !== $filter) {
234 $this->filtersList[] = $filter;
241 private function getFilters()
243 return $this->filtersList;
setSearchCriteria(SearchCriteriaInterface $searchCriteria)
const TRANSACTION_MAXIMUM_COUNT
setTotalCount($totalCount)
__construct(EntityFactoryInterface $entityFactory, BraintreeAdapterFactory $braintreeAdapterFactory, FilterMapper $filterMapper)
addFieldToFilter($field, $condition)
setAggregations($aggregations)
setItems(array $items=null)