<?php

/**
 * This is the model base class for the table "cidades".
 * DO NOT MODIFY THIS FILE! It is automatically generated by giix.
 * If any changes are necessary, you must set or override the required
 * property or method in class "Cidades".
 *
 * Columns in table "cidades" available as properties of the model,
 * followed by relations of table "cidades" available as properties of the model.
 *
 * @property integer $CID_IDCIDADE
 * @property string $CID_DESCRICAO
 * @property string $CID_UF
 * @property string $CID_DDD
 * @property integer $CID_CODIBGE
 *
 * @property Bairros[] $bairroses
 * @property Regioescidades $Cidade
 * @property Regioescidades[] $regioescidades
 */
class Cidades extends GxActiveRecord {

    public static function model($className=__CLASS__) {
        return parent::model($className);
    }

    public function tableName() {
        return 'cidades';
    }

    public static function label($n = 1) {
        return Yii::t('app', 'Cidade|Cidades', $n);
    }

    public static function representingColumn() {
        return 'CID_DESCRICAO';
    }

    public function getCidadeEstado() {
        if (empty($this->CID_UF)) {
            $this->refresh();
        }
        return $this->CID_DESCRICAO.' - '.$this->CID_UF;
    }

    public function rules() {
        return array(
            array('CID_DESCRICAO, CID_UF, CID_SITUACAO', 'required'),
            array('CID_CODIBGE', 'numerical', 'integerOnly'=>true),
            array('CID_DESCRICAO', 'length', 'max'=>60),
            array('CID_UF, CID_DDD, CID_SITUACAO', 'length', 'max'=>2),
            array('CID_DESCRICAO, CID_UF, CID_DDD, CID_CODIBGE', 'default', 'setOnEmpty' => true, 'value' => null),
            array('CID_IDCIDADE, CID_DESCRICAO, CID_UF, CID_DDD, CID_CODIBGE, CID_SITUACAO', 'safe', 'on'=>'search'),
        );
    }

    public function relations() {
        return array(
            'RegioesCidades' => array(self::HAS_MANY, 'Regioescidades', 'RCD_IDCIDADE'),
        );
    }

    public function pivotModels() {
        return array(
        );
    }

    public function attributeLabels() {
        return array(
            'CID_IDCIDADE'      => 'Código',
            'CID_DESCRICAO'     => 'Cidade',
            'CID_UF'            => 'Estado',
            'CID_DDD'           => 'Código DDD',
            'CID_CODIBGE'       => 'Código IBGE',
            'CID_SITUACAO'      => 'Situação',
            'bairros'           => 'Bairros',
            'Cidade'            => 'Cidade',
            'RegioesCidades'    => 'Regiões cidades',
        );
    }

    public function search() {
        $criteria = new CDbCriteria;

        $criteria->compare('CID_IDCIDADE', $this->CID_IDCIDADE);
        $criteria->compare('CID_DESCRICAO', utf8_decode($this->CID_DESCRICAO), true);
        $criteria->compare('CID_UF', $this->CID_UF, true);
        $criteria->compare('CID_DDD', $this->CID_DDD, true);
        $criteria->compare('CID_CODIBGE', $this->CID_CODIBGE);
        $criteria->compare('CID_SITUACAO', $this->CID_SITUACAO);

        return new CActiveDataProvider($this, array(
            'criteria' => $criteria,
            'sort' => array(
                'defaultOrder'=> 'CID_DESCRICAO ASC',
            ),
            'pagination' => array(
                'pageSize' => 20,
            )
        ));
    }

    public function getRevenda() {
        $RegioesCidade = Regioescidades::model()->find("RCD_IDCIDADE = " . $this->CID_IDCIDADE);
        return $RegioesCidade->Revenda;
    }

}