| Current Path : /home/rtorresani/www/app/code/Torresani/SiWeGO/Model/ResourceModel/Carrier/Siwego/ |
| Current File : //home/rtorresani/www/app/code/Torresani/SiWeGO/Model/ResourceModel/Carrier/Siwego/Collection.php |
<?php
/**
* Torresani
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* Torresani SiWeGO
*
* @category Torresani
* @package Torresani_SiWeGO
* @copyright Copyright (c) 2014 Zowta LLC (http://www.Torresani.com)
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* @author Torresani Team sales@torresani.com
*
*/
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Torresani\SiWeGO\Model\ResourceModel\Carrier\Siwego;
/**
* Shipping table rates collection
*
* @author Magento Core Team <core@magentocommerce.com>
*/
class Collection extends \Magento\Framework\Model\ResourceModel\Db\Collection\AbstractCollection
{
/**
* Directory/country table name
*
* @var string
*/
protected $countryTable;
/**
* Directory/country_region table name
*
* @var string
*/
protected $regionTable;
/**
* Define resource model and item
*
* @return void
*/
protected function _construct()
{
$this->_init(
'Torresani\SiWeGO\Model\Carrier\Siwego',
'Torresani\SiWeGO\Model\ResourceModel\Carrier\Siwego'
);
$this->countryTable = $this->getTable('directory_country');
$this->regionTable = $this->getTable('directory_country_region');
}
/**
* Initialize select, add country iso3 code and region name
*
* @return void
*/
public function _initSelect()
{
parent::_initSelect();
$this->_select->joinLeft(
['country_table' => $this->countryTable],
'country_table.country_id = main_table.dest_country_id',
['dest_country' => 'iso3_code']
)->joinLeft(
['region_table' => $this->regionTable],
'region_table.region_id = main_table.dest_region_id',
['dest_region' => 'code']
);
$this->addOrder('dest_country', self::SORT_ORDER_ASC);
$this->addOrder('dest_region', self::SORT_ORDER_ASC);
$this->addOrder('dest_zip', self::SORT_ORDER_ASC);
$this->addOrder('condition_name', self::SORT_ORDER_ASC);
}
/**
* Add website filter to collection
*
* @param int $websiteId
* @return \Torresani\SiWeGO\Model\ResourceModel\Carrier\Siwego\Collection
*/
public function setWebsiteFilter($websiteId)
{
return $this->addFieldToFilter('website_id', $websiteId);
}
/**
* Add condition name (code) filter to collection
*
* @param string $conditionName
* @return \Torresani\SiWeGO\Model\ResourceModel\Carrier\Siwego\Collection
*/
public function setConditionFilter($conditionName)
{
return $this->addFieldToFilter('condition_name', $conditionName);
}
/**
* Add country filter to collection
*
* @param string $countryId
* @return \Torresani\SiWeGO\Model\ResourceModel\Carrier\Siwego\Collection
*/
public function setCountryFilter($countryId)
{
return $this->addFieldToFilter('dest_country_id', $countryId);
}
}