<?php

class Comercializacao_Model_ComercializacoesProponente extends Agro_Db_Table_Abstract {
	protected $_schema = 'comercializacao';
	protected $_name = 'comercializacoes_proponentes';
	protected $_primary = array('id_comercializacao', 'id_proponente');

	public function save($values) {
		$Row = $this->find($values['id_comercializacao'], $values['id_proponente'])->current();
		if (!$Row) $Row = $this->createRow();

		$Row->id_comercializacao = $values['id_comercializacao'];
		$Row->id_proponente = $values['id_proponente'];

		return $Row->save();
	}

	/*
	public function getData($where=null){
		$select = $this->select();
		$select->setIntegrityCheck(false);
		$select->from(array('c'=>'comercializacao.v_taxas_agrupamento'), '*');
		$select->joinLeft(array('tp' => 'comercializacao.taxas_agrupamento_proponentes'), 'c.id = tp.id_taxa_agrupamento', false);
		$select->joinLeft(array('pr' => 'seguro.proponentes'), 'tp.id_proponente = pr.id', false);

		if (is_array($where)) {
			if($where['id_estado']) {
				$select->where('
				c.id in (select
					id_taxa_agrupamento
				from
					"comercializacao"."taxas_agrupamento_estados" te
				where
					te.id_taxa_agrupamento = c.id and
					te.id_estado = ' . $where['id_estado'] .'
				)');
				unset($where['id_estado']);
			}

			foreach ($where as $clause) {
				$field = $clause['field'];
				$operator = $clause['operator'];
				$value = $clause['value'];

				$select->where("$field $operator ?", $value);
			}
		} elseif ($where != '') {
			$select->where($where);
		}
		if($this->_order)
			$select->order($this->_order);

		return $select;
	}
	*/

	public function getProponentesRelacionados($id) {
		$Select = $this->select()->setIntegrityCheck(false);
		$Select->from(array('tap' => 'comercializacao.comercializacoes_proponentes'), null);
		$Select->join(array('p' => 'seguro.proponentes'), 'tap.id_proponente = p.id', array('id', 'ds_nome_proponente', 'cpf_cnpj'));
		$Select->where("id_comercializacao = ?", $id);
		$Select->order("ds_nome_proponente");

		return $this->fetchAll($Select);
	}

	public function desmarcaProponete($id, $id_proponente) {
		return $this->_db->query("delete from comercializacao.comercializacoes_proponentes where id_comercializacao = $id and id_proponente = $id_proponente");
	}
}