<?php

class Atendimento_Model_Proposta_Corretores extends Agro_Db_Table_Abstract {
	protected $_primary = array('id_proposta', 'id_usuario');
	protected $_name = 'propostas_corretores';
	protected $_schema = 'seguro';

	public function save($id_proposta, $id_corretor, $comissao=NULL, $id_preposto=NULL) {

		if ($id_proposta) {
			$this->getAdapter()->query("delete from seguro.propostas_corretores where id_proposta = $id_proposta");
			if($id_preposto > 0){
			    $this->getAdapter()->query("update seguro.propostas set id_usuario_criacao=".$id_preposto." where id = $id_proposta");
			} else {
			    $this->getAdapter()->query("update seguro.propostas set id_usuario_criacao=".$id_corretor." where id = $id_proposta");
			}

			$Row = $this->createRow();
			$Row->vl_comissao = ($comissao ? $comissao : null);
			$Row->id_proposta = $id_proposta;
			$Row->id_usuario = $id_corretor;

			if ($Row->save()) {
				return $this->log($id_proposta, $id_corretor, $id_preposto);
			}
		}

		return false;
	}

	public function libera_renovacao($params) {
		if ($params['id_proposta'] && ($params['id_usuario_corretor'] || $params['id_usuario_preposto'])) {
			$this->getAdapter()->query("delete from seguro.propostas_corretores_renovacao where id_proposta = {$params['id_proposta']}");

			return $this->getAdapter()->insert('seguro.propostas_corretores_renovacao', array(
				'id_proposta' => $params['id_proposta'],
				'id_usuario' => ($params['id_usuario_preposto'] > 0 ? $params['id_usuario_preposto'] : $params['id_usuario_corretor']),
			    'id_usuario_criacao' =>  $this->_user->id
			));
		}
	}

	public function log($id_proposta, $id_corretor, $id_preposto=NULL) {
	    if($id_preposto){
    		return $this->getDefaultAdapter()->insert('log.log_alteracao_corretor', array(
    			'id_proposta' => $id_proposta,
    			'id_corretor' => $id_corretor,
    			'id_preposto' => $id_preposto,
    			'id_usuario_criacao' => Zend_Auth::getInstance()->getIdentity()->id
    		));
	    } else {
    		return $this->getDefaultAdapter()->insert('log.log_alteracao_corretor', array(
    			'id_proposta' => $id_proposta,
    			'id_corretor' => $id_corretor,
    			'id_usuario_criacao' => Zend_Auth::getInstance()->getIdentity()->id
    		));
	    }
	}
}