<?php

class Atendimento_Model_ContatoObservacoes extends Agro_Db_Table_Abstract {
	protected $_schema = 'atendimento';
	protected $_name = 'contatos_observacoes';
	protected $_primary = 'id';
	
	public function save(array $data) {
		$Row = ($data['id'] ? $this->find($data['id'])->current() : $this->createRow());
		//$Row = $this->getRow($data['id']);
		
		$Row->id_contato = $data['id_contato'];
		$Row->ds_observacao = $data['ds_observacao'];
		return $Row->save();
	}
	
	public function getObservacoesContato($id) {
		$select = $this->getData(array());
		
		$select->where("id_contato = $id");
		
		$ret = $this->_db->fetchAll($select);
		return $ret;
	}
	
	public function getData($where) {
		$select = $this->select();
		$select->setIntegrityCheck(false);
		$select->from(array('co' => 'atendimento.contatos_observacoes'));
		$select->order(array('id'));
		
		if (is_array($where)) {
			foreach ($where as $clause) {
				$field = $clause['field'];
				$operator = $clause['operator'];
				$value = $clause['value'];
				
				$select->where("$field $operator ?", $value);
			}
		} elseif ($where != '') {
			$select->where($where);
		}
		
		return $select;
	}
	
	public function getDadosObservacoes($id) {
		$select = $this->select();
		$select->setIntegrityCheck(false);
		$select->from(array('co' => 'atendimento.contatos_observacoes'));
		$select->join(array('u' => 'sistema.usuarios'), 'co.id_usuario_criacao = u.id', array("ds_nome_usuario"));
		$select->order(array('id'));
		$select->where("co.id_contato = $id");
		return $this->_db->fetchAll($select);
	}
}