<?php

class DatosTxtTablaAmortizacionSeguimiento extends CActiveRecord
{
    public function tableName()
    {
        return 'prestamos.datos_txt_tabla_amortizacion_seguimiento';
    }

    public function rules()
    {
        return [
            [['id_cuota', 'id_estatus'], 'required'],
            ['monto_remanente', 'safe'],
            ['id, nombre_estatus', 'safe', 'on' => 'search'],
        ];
    }

    public function relations()
    {
        return [
        ];
    }

    public function attributeLabels()
    {
        return [
            'id' => 'ID',
            'id_estatus' => 'Estatus',
        ];
    }

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

        return new CActiveDataProvider($this, [
            'criteria' => $criteria,
        ]);
    }

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

    public static function create($attributes)
    {
        self::model()->updateAll(['actual' => false], 'id_cuota=:id', [
            'id' => $attributes['id_cuota'],
        ]);

        $model = new self();
        $model->setAttributes($attributes);

        if (! $model->validate()) {
            throw new Exception('Datos incorrectos en seguimiento de estatus');
        }

        if (! $model->save()) {
            throw new Exception('No se pudo guardar seguimiento de estatus');
        }

        return $model;
    }
}
