<?php

class Produto_ContratosResseguroController extends Agro_Controller_Action
{
    public $_columnList = array(
        'ds_nome' => ['label' => 'Nome', 'align' => 'center'],
        'dt_inicio_vigencia' => ['label' => 'Data Início Vigência', 'type' => 'data', 'align' => 'center'],
        'dt_termino_vigencia' => ['label' => 'Data Término Vigência', 'type' => 'data', 'align' => 'center'],
    );

    public function init()
    {
        $this->view->title = 'Produto » Cadastro » Contrato Resseguro';
    }

    public function getModel()
    {
        return new Produto_Model_ContratosResseguro();
    }

    public function getForm()
    {
        return new Produto_Form_ContratosResseguro();
    }

    public function getFilter()
    {
        $parametros = $this->getRequest()->getParams();
        $where = [];

        if ($parametros['ds_nome']) {
            $where[] = "ds_nome ilike '%{$parametros['ds_nome']}%'";
        }

        if ($parametros['dt_inicio_vigencia']) {
            $parametros['dt_inicio_vigencia'] = Agro_Util::formatDate($parametros['dt_inicio_vigencia'], 'yyyy-MM-dd');
            $where[] = "dt_inicio_vigencia = '{$parametros['dt_inicio_vigencia']}'";
        }

        if ($parametros['dt_termino_vigencia']) {
            $parametros['dt_termino_vigencia'] = Agro_Util::formatDate($parametros['dt_termino_vigencia'], 'yyyy-MM-dd');
            $where[] = "dt_termino_vigencia = '{$parametros['dt_termino_vigencia']}'";
        }

        return $where;
    }

    public function formAction()
    {
        $model = $this->getModel();
        
        if ($this->getRequest()->isPost()) {
            $model->getAdapter()->beginTransaction();
        }
        
        parent::formAction();
        
        if ($this->getRequest()->isPost()) {
            if ($this->view->classMessage == "error") {
                $model->getAdapter()->rollback();
            } else {
                $model->getAdapter()->commit();
            }
        }
    }
}
