Prado\Data\SqlMap\DataMapper\TSqlMapPagedList::populateData PHP Method

populateData() protected method

Populate the list with the fetched data.
protected populateData ( $param, $data )
    protected function populateData($param, $data)
    {
        $total = $data instanceof TList ? $data->getCount() : count($data);
        $pageSize = $this->getPageSize();
        if ($total < 1) {
            $param->setData($data);
            $this->_prevPageList = null;
            $this->_nextPageList = null;
            return;
        }
        if ($param->getNewPageIndex() < 1) {
            $this->_prevPageList = null;
            if ($total <= $pageSize) {
                $param->setData($data);
                $this->_nextPageList = null;
            } else {
                $param->setData(array_slice($data, 0, $pageSize));
                $this->_nextPageList = array_slice($data, $pageSize - 1, $total);
            }
        } else {
            if ($total <= $pageSize) {
                $this->_prevPageList = array_slice($data, 0, $total);
                $param->setData(array());
                $this->_nextPageList = null;
            } else {
                if ($total <= $pageSize * 2) {
                    $this->_prevPageList = array_slice($data, 0, $pageSize);
                    $param->setData(array_slice($data, $pageSize, $total));
                    $this->_nextPageList = null;
                } else {
                    $this->_prevPageList = array_slice($data, 0, $pageSize);
                    $param->setData(array_slice($data, $pageSize, $pageSize));
                    $this->_nextPageList = array_slice($data, $pageSize * 2, $total - $pageSize * 2);
                }
            }
        }
    }