<?php

class Seguro_Model_PropostasConsultaSubvencaoEstadual extends Agro_Db_Table_Abstract
{
	protected $_name = 'propostas_consulta_subvencao_estadual';
	protected $_schema = 'seguro';
	protected $_primary = 'id';

    public function save(array $dados)
    {
        $row = $this->createRow();
        $row->id_proposta = $dados['id_proposta'];
        $row->id_atributo_rn = Seguro_Model_PropostasQuestionarios::QUEST_SUBVENCAO_ESTADUAL_CONFIRMADA;
        $row->vl_subvencao_estadual = (!empty($dados['vl_subvencao'])) ? $dados['vl_subvencao'] : null;
        $row->dt_concessao = (!empty($dados['dt_concessao'])) ? Agro_Util::formatDate($dados['dt_concessao'], Zend_Date::W3C) : null;
        return $row->save();
    }

    public function add(array $dados) : void
    {
		$questionario = new Seguro_Model_PropostasQuestionarios();

        $this->delete($dados['id_proposta'], Seguro_Model_PropostasQuestionarios::QUEST_SUBVENCAO_ESTADUAL_CONFIRMADA);

        $questionario->getDefaultAdapter()->query(
            "DELETE FROM seguro.propostas_questionario
              WHERE id_atributo_rn = ". Seguro_Model_PropostasQuestionarios::QUEST_SUBVENCAO_ESTADUAL_CONFIRMADA ."
                AND id_proposta = " . $dados['id_proposta']
        );

        $semSubvencao = Seguro_Model_PropostasSubvencao::DS_CHAVE_SEM_SUBVENCAO;
        $rowQuestionario = $questionario->createRow();
        $rowQuestionario->id_usuario_criacao = Zend_Auth::getInstance()->getIdentity()->id;
        $rowQuestionario->id_proposta = $dados['id_proposta'];
        $rowQuestionario->id_atributo_rn = Seguro_Model_PropostasQuestionarios::QUEST_SUBVENCAO_ESTADUAL_CONFIRMADA;
        $rowQuestionario->ds_resposta = $dados['status_concessao'] !== $semSubvencao ? '1' : '0';
        $rowQuestionario->save();

        $this->save($dados);
    }

    public function delete($idProposta, $idAtributoRn) {
		$this->_db->query("DELETE FROM seguro.propostas_consulta_subvencao_estadual WHERE id_atributo_rn = {$idAtributoRn} AND id_proposta = {$idProposta}");
	}
}
