<?php


class Monto extends CActiveRecord
{
	
	public function tableName()
	{
		return 'monto';
	}

	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_monto, descripcion, borrado', 'safe', 'on'=>'search'),
		);
	}

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

        public function validar_update($attributes,$params){
            $reg=Monto::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','Monto ya esta registrada en el sistema.');
            }
        }

	public function attributeLabels()
	{
		return array(
			'id_monto' => 'ID',
			'descripcion' => 'Monto',
			'borrado' => 'Borrado',
		);
	}


	public function search()
	{
		// @todo Please modify the following code to remove attributes that should not be searched.

		$criteria=new CDbCriteria;

		$criteria->compare('id_monto',$this->id_monto);
		$criteria->compare('descripcion',$this->descripcion);
		$criteria->compare('borrado',0,true);
		$sort = new CSort();
                $sort->defaultOrder = 'id_monto 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("monto", array(
                "descripcion" =>$_POST['Monto']['descripcion']!=NULL?Utility::mayuscula($_POST['Monto']['descripcion']):'', 
                "borrado"=>"0"    
            ));
            return $insert;
        }
        
    public static function edit($id) {
        $update = Yii::app()->db->createCommand()->
            update("monto", array(   
            "descripcion" =>$_POST['Monto']['descripcion']!=NULL?Utility::mayuscula($_POST['Monto']['descripcion']):'',  
            ), "id_monto=$id");
        return $update;
    }
       public static function borrar($id) {
        $update = Yii::app()->db->createCommand()->
            update("monto", array(   
            "borrado" =>'1',  
            ), "id_monto=$id");
        return $update;
    }  
        
      public static function lista(){
           $lista=  CHtml::listData(Monto::model()->findAll(array("order"=>"descripcion")), 'descripcion', 'descripcion');
           return $lista;
        }
        
        
}
