<?php

class Sinistro_Model_ProcessosEmpresas extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'processos_empresas';
	protected $_primary = array('id_processo', 'id_empresa');
	public $_order = 'id_processo';
	protected $_sequence = false;
	
	public function setEmpresaByProcesso($processo, $empresa) {
		if ($processo && $empresa) {
			$this->getDefaultAdapter()->query("update sinistro.processos_empresas set fl_ativo = false where id_processo = $processo");
			
			$Row = $this->createRow();
			$Row->id_processo = $processo;
			$Row->id_empresa = $empresa;
			
			return $Row->save();
		}
		
		return false;
	}
	
	public function getEmpresaByProcesso($idProcesso) {
		if ($idProcesso) {
			$select = $this->select()->setIntegrityCheck(false);
			$select->from(array('pe' => 'sinistro.processos_empresas'), 'id_empresa');
			$select->where("pe.id_processo = ?", $idProcesso);
			$select->where("pe.fl_ativo = true");

			return $this->getAdapter()->fetchOne($select);
		} else {
			return false;
		}
	}

	public function isEmpresaAtiva($idProcesso, $idEmpresa) {
		
		$result = false;
		if ($idProcesso && $idEmpresa) {
			$select = $this->select();
			$select->setIntegrityCheck(false);

			$select->from(array('pe' => 'sinistro.processos_empresas'), 'fl_ativo');
			$select->where("pe.id_processo = ?", $idProcesso);
			$select->where("pe.id_empresa = ?", $idEmpresa);
			$select->where("pe.fl_ativo = true");

			$rs = $this->_db->fetchRow($select);
			if ($rs) {
				$result = true; 
			}
		}
		
		return $result;
	}
}