<?php

/**
 * This is the model base class for the table "motivos_projetos".
 * 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 "MotivosProjetos".
 *
 * Columns in table "formularios_projetos" available as properties of the model,
 * followed by relations of table "formularios_projetos" available as properties of the model.
 *
 * @property integer $MPS_CODIGO
 * @property integer $MPS_IDMOTIVO
 * @property integer $MPS_IDPROJETO
 *
 * @property Projetos $Projeto
 * @property Motivos $Motivo
 */
class MotivosProjetos extends GxActiveRecord {

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

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

    public static function label($n = 1) {
        return Yii::t('app', 'Motivo Projeto|Motivos Projetos', $n);
    }

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

    public function rules() {
        return array(
            array('MPS_IDMOTIVO, MPS_IDPROJETO', 'required'),
            array('MPS_IDMOTIVO, MPS_IDPROJETO', 'numerical', 'integerOnly' => true),
            array('MPS_CODIGO, MPS_IDMOTIVO, MPS_IDPROJETO', 'safe', 'on' => 'search'),
        );
    }

    public function relations() {
        return array(
            'Projeto'   => array(self::BELONGS_TO, 'Projetos', 'MPS_IDPROJETO'),
            'Motivo'    => array(self::BELONGS_TO, 'Motivos', 'MPS_IDMOTIVO'),
        );
    }

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

    public function attributeLabels() {
        return array(
            'MPS_CODIGO'    => 'Código',
            'MPS_IDMOTIVO'  => 'Motivo',
            'MPS_IDPROJETO' => 'Projeto',
            'Projeto'       => 'Projeto',
            'Motivo'        => 'Motivo',
        );
    }

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

        $criteria->compare('MPS_CODIGO', $this->MPS_CODIGO);
        $criteria->compare('MPS_IDMOTIVO', $this->MPS_IDMOTIVO);
        $criteria->compare('MPS_IDPROJETO', $this->MPS_IDPROJETO);

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

    public function getIds($idMotivo) {
        $data = $this->findAll('MPS_IDMOTIVO=:RedId', array(':RedId' => $idMotivo));
        return CHtml::listData($data, 'MPS_CODIGO', 'MPS_IDPROJETO');
    }

    public function getProjetos($idMotivo) {
        if(!$this->getIds($idMotivo))
            return array();
        $data = Projetos::model()->findAll('PRO_IDPROJETO in('.implode(',', $this->getIds($idMotivo)).') ORDER BY PRO_PROJETO ASC');
        return ($data) ? CHtml::listData($data, 'PRO_IDPROJETO', 'PRO_PROJETO') : array();
    }
}