<?

class Sinistro_Model_LaudosFinaisItensSeguradosAvisosRelacionados extends Agro_Db_Table_Abstract {
	protected $_schema = 'sinistro';
	protected $_name = 'laudos_finais_itens_segurados_avisos_relacionados';
	protected $_primary = array('id_laudo_final_item_segurado', 'id_aviso');
	public $_order = 'id_laudo_final_item_segurado';
	
	public function save($dados){
		try {
			$this->delete($dados["id_laudo_final_item_segurado"]);
			
			if ($dados["avisos_relacionados"]){
				foreach($dados["avisos_relacionados"] as $aviso){
					$dados = array(
						"id_laudo_final_item_segurado" 	=> $dados["id_laudo_final_item_segurado"],
						"id_aviso" 						=> $aviso
					);
					$this->insert($dados);
				}
			}
			
			return true;
			
		} catch (Exception $e) {
			$this->setMessage("Não foi possível salvar o item segurado. <br>Erro:{$e->getMessage()}");
			return false;
		}			
	}
	
	public function delete($id_laudo_final_item_segurado){
		if ($id_laudo_final_item_segurado) {
			$this->getDefaultAdapter()->query("delete from sinistro.laudos_finais_itens_segurados_avisos_relacionados where id_laudo_final_item_segurado = $id_laudo_final_item_segurado");
		} else {
			throw new Exception("Informe o 'id_laudo_final_item_segurado' para executar o método delete() da classe 'Sinistro_Model_LaudosFinaisItensSeguradosAvisosRelacionados'.");
		}		
	}
}