<?php

/**
 * This is the model base class for the table "termo_levantamento_dados_bancos".
 * 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 "TermoLevantamentoDadosBancos".
 *
 * Columns in table "termo_levantamento_dados_bancos" available as properties of the model,
 * followed by relations of table "termo_levantamento_dados_bancos" available as properties of the model.
 *
 * @property integer $TLDB_CODIGO
 * @property integer $TLDB_IDTERMO
 * @property string $TLDB_BANCO
 * @property string $TLDB_AGENCIA
 * @property string $TLDB_AGENCIA_DIGITO
 * @property string $TLDB_CONTA
 * @property string $TLDB_CONTA_DIGITO
 * @property string $TLDB_NUM_CARTEIRA
 * @property string $TLDB_COD_CONVENIO
 * @property string $TLDB_GERENTE
 * @property string $TLDB_TELEFONE
 * @property string $TLDB_BOLETO_EMITIDO_POR
 * @property integer $TLDB_BOLETO_PROTESTO
 * @property string $TLDB_BOLETO_PROTESTO_DIAS
 * @property string $TLDB_BOLETO_PROTESTO_JUROS
 * @property string $TLDB_BOLETO_PROTESTO_MULTA
 *
 * @property TermoLevantamentoDados $TermoLevantamentoDados
 */
class TermoLevantamentoDadosBancos extends GxActiveRecord {

    public $TLDB_BANCO_OUTRO;

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

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

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

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

    public function behaviors() {
        return array('datetimeI18NBehavior' => array('class' => 'ext.DateTimeI18NBehavior'));
    }

    public function rules() {
        return array(
            array('TLDB_IDTERMO, TLDB_BANCO, TLDB_AGENCIA, TLDB_AGENCIA_DIGITO, TLDB_CONTA, TLDB_CONTA_DIGITO, TLDB_NUM_CARTEIRA, TLDB_COD_CONVENIO, TLDB_GERENTE, TLDB_TELEFONE, TLDB_BOLETO_EMITIDO_POR, TLDB_BOLETO_PROTESTO', 'safe'),
            array('TLDB_IDTERMO, TLDB_BOLETO_PROTESTO', 'numerical', 'integerOnly' => true),
            array('TLDB_BANCO, TLDB_GERENTE', 'length', 'max' => 100),
            array('TLDB_AGENCIA, TLDB_CONTA, TLDB_NUM_CARTEIRA, TLDB_COD_CONVENIO, TLDB_BOLETO_EMITIDO_POR', 'length', 'max' => 20),
            array('TLDB_AGENCIA_DIGITO, TLDB_CONTA_DIGITO', 'length', 'max' => 5),
            array('TLDB_TELEFONE', 'length', 'max' => 50),
            array('TLDB_BOLETO_PROTESTO_DIAS, TLDB_BOLETO_PROTESTO_JUROS, TLDB_BOLETO_PROTESTO_MULTA', 'length', 'max' => 10),
            array('TLDB_CODIGO, TLDB_IDTERMO, TLDB_BANCO, TLDB_AGENCIA, TLDB_AGENCIA_DIGITO, TLDB_CONTA, TLDB_CONTA_DIGITO, TLDB_NUM_CARTEIRA, TLDB_COD_CONVENIO, TLDB_GERENTE, TLDB_TELEFONE, TLDB_BOLETO_EMITIDO_POR, TLDB_BOLETO_PROTESTO, TLDB_BOLETO_PROTESTO_DIAS, TLDB_BOLETO_PROTESTO_JUROS, TLDB_BOLETO_PROTESTO_MULTA', 'safe', 'on' => 'search'),

            array('TLDB_BOLETO_PROTESTO', 'VerificaTLDB_BOLETO_PROTESTO'),
        );
    }

    public function relations() {
        return array(
            'TermoLevantamentoDados' => array(self::BELONGS_TO, 'TermoLevantamentoDados', 'TLDB_IDTERMO'),
        );
    }

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

    public function attributeLabels() {
        return array(
            'TLDB_CODIGO'                   => 'Código',
            'TLDB_IDTERMO'                  => 'Termo de levantamento de dados',
            'TLDB_BANCO'                    => 'Banco',
            'TLDB_AGENCIA'                  => 'Agencia',
            'TLDB_AGENCIA_DIGITO'           => 'Agencia Digito',
            'TLDB_CONTA'                    => 'Conta',
            'TLDB_CONTA_DIGITO'             => 'Conta Digito',
            'TLDB_NUM_CARTEIRA'             => 'Num Carteira',
            'TLDB_COD_CONVENIO'             => 'Cod Convenio',
            'TLDB_GERENTE'                  => 'Gerente',
            'TLDB_TELEFONE'                 => 'Telefone',
            'TLDB_BOLETO_EMITIDO_POR'       => 'Boleto Emitido Por',
            'TLDB_BOLETO_PROTESTO'          => 'Boleto Protesto',
            'TLDB_BOLETO_PROTESTO_DIAS'     => 'Boleto Protesto Dias',
            'TLDB_BOLETO_PROTESTO_JUROS'    => 'Boleto Protesto Juros',
            'TLDB_BOLETO_PROTESTO_MULTA'    => 'Boleto Protesto Multa',
            'TermoLevantamentoDados'        => 'Termo de levantamento de dados',
        );
    }

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

        $criteria->compare('TLDB_CODIGO', $this->TLDB_CODIGO);
        $criteria->compare('TLDB_IDTERMO', $this->TLDB_IDTERMO);
        $criteria->compare('TLDB_BANCO', $this->TLDB_BANCO, true);
        $criteria->compare('TLDB_AGENCIA', $this->TLDB_AGENCIA, true);
        $criteria->compare('TLDB_AGENCIA_DIGITO', $this->TLDB_AGENCIA_DIGITO, true);
        $criteria->compare('TLDB_CONTA', $this->TLDB_CONTA, true);
        $criteria->compare('TLDB_CONTA_DIGITO', $this->TLDB_CONTA_DIGITO, true);
        $criteria->compare('TLDB_NUM_CARTEIRA', $this->TLDB_NUM_CARTEIRA, true);
        $criteria->compare('TLDB_COD_CONVENIO', $this->TLDB_COD_CONVENIO, true);
        $criteria->compare('TLDB_GERENTE', $this->TLDB_GERENTE, true);
        $criteria->compare('TLDB_TELEFONE', $this->TLDB_TELEFONE, true);
        $criteria->compare('TLDB_BOLETO_EMITIDO_POR', $this->TLDB_BOLETO_EMITIDO_POR, true);
        $criteria->compare('TLDB_BOLETO_PROTESTO', $this->TLDB_BOLETO_PROTESTO);
        $criteria->compare('TLDB_BOLETO_PROTESTO_DIAS', $this->TLDB_BOLETO_PROTESTO_DIAS, true);
        $criteria->compare('TLDB_BOLETO_PROTESTO_JUROS', $this->TLDB_BOLETO_PROTESTO_JUROS, true);
        $criteria->compare('TLDB_BOLETO_PROTESTO_MULTA', $this->TLDB_BOLETO_PROTESTO_MULTA, true);

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

    public function VerificaTLDB_BOLETO_PROTESTO($attribute, $params) {
        if ($this->TLDB_BOLETO_PROTESTO == 1 and (empty($this->TLDB_BOLETO_PROTESTO_DIAS) or empty($this->TLDB_BOLETO_PROTESTO_JUROS) or empty($this->TLDB_BOLETO_PROTESTO_MULTA))) {
            $this->addError('TLDB_BOLETO_PROTESTO', 'Os dados não podem ser vazios.');
        }
    }

}