<?php

/**
 * This is the model class for table "duracion".
 *
 * The followings are the available columns in table 'duracion':
 * @property integer $id_duracion
 * @property integer $descripcion
 * @property string $borrado
 */
class Duracion extends CActiveRecord
{
	
	public function tableName()
	{
		return 'duracion';
	}

	public function rules()
	{
		
		return array(
			array('descripcion', 'required','on'=> 'create,update'),
                        array('descripcion','validar_create','on'=> 'create'),
                        array('descripcion','validar_update','on'=> 'update'),
			array('descripcion', 'numerical', 'integerOnly'=>true),
			array('borrado', 'length', 'max'=>1),
			array('id_duracion, descripcion, borrado', 'safe', 'on'=>'search'),
		);
	}

	 public function validar_create($attributes,$params){
            $reg=Duracion::model()->find('LOWER(descripcion)=? and borrado="0"',array(htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->descripcion)))))));
            if($reg != NULL){
                 $this->addError('descripcion','Duracion ya esta registrada en el sistema.'); 
            }
        }

        public function validar_update($attributes,$params){
            $reg=Duracion::model()->find('LOWER(descripcion)=? and borrado="0" and  id_distrito<>?',array(htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->descripcion)))))),htmlspecialchars(addslashes(stripslashes(strip_tags(trim($this->id_distrito))))));
            if($reg != NULL){
                 $this->addError('descripcion','Duracion ya esta registrada en el sistema.');
            }
        }
        
	public function relations()
	{
		return array(
		);
	}


	public function attributeLabels()
	{
		return array(
			'id_duracion' => 'ID',
			'descripcion' => 'Duración',
			'borrado' => 'Borrado',
		);
	}


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

		$criteria->compare('id_duracion',$this->id_duracion);
		$criteria->compare('descripcion',$this->descripcion);
		$criteria->compare('borrado',0,true);
		$sort = new CSort();
                $sort->defaultOrder = 'id_duracion DESC';
           
                return new CActiveDataProvider($this, array(
                    'criteria' => $criteria,
                    'pagination' => array(
                        'pageSize' => Yii::app()->user->getState('pageSize', Yii::app()->params['defaultPageSize']),
                    ),
                    'sort' => $sort,
                ));
	}


	public static function model($className=__CLASS__)
	{
		return parent::model($className);
	}
        
         public static function add() {
        $insert = Yii::app()->db->createCommand()->
                insert("duracion", array(
                "descripcion" =>$_POST['Duracion']['descripcion']!=NULL?Utility::mayuscula($_POST['Duracion']['descripcion']):'', 
                "borrado"=>"0"    
            ));
            return $insert;
        }
        
    public static function edit($id) {
        $update = Yii::app()->db->createCommand()->
            update("duracion", array(   
            "descripcion" =>$_POST['Duracion']['descripcion']!=NULL?Utility::mayuscula($_POST['Duracion']['descripcion']):'',  
            ), "id_duracion=$id");
        return $update;
    }
       public static function borrar($id) {
        $update = Yii::app()->db->createCommand()->
            update("duracion", array(   
            "borrado" =>'1',  
            ), "id_duracion=$id");
        return $update;
    }  
        
        public static function lista(){
           $lista=  CHtml::listData(Duracion::model()->findAll(array("order"=>"descripcion")), 'descripcion', 'descripcion');
           return $lista;
        }
        
        
}
