/**
	 * @return Gpf_Rpc_Params
	 */
	private function getParams($limit) {
		$params = new Gpf_Rpc_Params();
		$params->add('sort_col', 'dateinserted');
		$params->add('sort_asc', false);
		$params->add('offset', 0);
		$params->add('limit', $limit);
		$params->add('columns', array(array("id"),array("id"),array("id"),array("commission"),array("totalcost"),array("orderid"),array("productid"),array("dateinserted"),array("name"),array("rtype"),array("tier"),array("commissionTypeName"),array("rstatus"),array("payoutstatus"),array("userid"),array("username"),array("firstname"),array("lastname"),array("channel")));

		$filters = array();
			
		if ($this->statsparams->isDateFromDefined()) {
			$filters[] = array('dateinserted', 'D>=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateFrom()->toTimeStamp() + $this->timeOffset));
		}
		if ($this->statsparams->isDateToDefined()) {
			$filters[] = array('dateinserted', 'D<=', Gpf_Common_DateUtils::getDateTime($this->statsparams->getDateTo()->toTimeStamp() + $this->timeOffset));
		}
		if ($this->statsparams->isTypeDefined()) {
			$filters[] = array('rtype', 'IN', $this->statsparams->getType());
		}
		if ($this->statsparams->isAffiliateIdDefined()) {
			$filters[] = array('userid', 'E', $this->statsparams->getAffiliateId());
		}
		if ($this->statsparams->isAccountIdDefined()) {
			$filters[] = array('accountid', 'E', $this->statsparams->getAccountId());
		}

		if (count($filters) > 0) {
			$params->add('filters', $filters);
		}

		return $params;
	}
	protected function buildWhere(Pap_Stats_Params $statParams) {
		$statParams->addTo($this->transactionsSelect);
        if ($statParams->isTypeDefined()) {
            $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_TYPE, 'IN', explode(',', $statParams->getType()));
        }
        if ($statParams->isStatusDefined()) {
            if (is_array($statParams->getStatus())) {
                $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_STATUS, 'IN', $statParams->getStatus());
            } else {
                $this->transactionsSelect->where->add(Pap_Db_Table_Transactions::R_STATUS, 'IN', explode(',', $statParams->getStatus()));
            }
        }   
	}