<?php
/**
 * Model
 *
 * Laudo final Tipo LF007 / Safra14 - Item Segurado (Totalização de Perdas)
 *
 * @author Fernando Nunes
 * @date 28/02/2011
 *
 */
class Safra13_Model_Lf007ItensSeguradosAmostras extends Agro_Db_Table_Abstract {
	protected $_schema 	= 'safra13';
	protected $_name 	= 'lf007_itens_segurados_amostras';
	protected $_primary = 'id';
	public 	  $_order 	= 'id_laudo_final';

	public function save($dados){
	    $Model_Lf007ItensSegurados = new Safra13_Model_Lf007ItensSegurados();

	    $idLaudoFinalItemSegurado = $Model_Lf007ItensSegurados->save($dados);

	    if($idLaudoFinalItemSegurado) {
    		try {

    		    $this->delete($idLaudoFinalItemSegurado, 'id_laudo_final_item_segurado');

    		    $nrAmostra = 1;
		        foreach ($dados['amostras_validas'] as $Amostra) {
		            $dadosInsert = array();
		            $dadosInsert['id_laudo_final_item_segurado'] = $idLaudoFinalItemSegurado;
		            $dadosInsert['nr_amostra'] = $nrAmostra;
		            $dadosInsert = array_merge($dadosInsert, $Amostra);
		            $this->insert($dadosInsert);
		            $nrAmostra++;
		        }

    			return $idLaudoFinalItemSegurado;

    		} catch (Exception $e) {
    		    $this->setMessage($e->getMessage().'<br><pre>'.$e->getTraceAsString().'</pre>');
    		    return false;
    		}
	    } else {
	        return false;
	    }
	}

	public function getAmostras($idLaudoFinalItemSegurado) {
		$select = $this->select()->setIntegrityCheck(false);
		$select->from(array('lf'=>$this->_schema . '.' . $this->_name), '*');
		$select->where('id_laudo_final_item_segurado = ?', $idLaudoFinalItemSegurado);

		$Amostras = $this->fetchAll($select)->toArray();
		$AmostrasNumeradas = array();
		foreach($Amostras as $Amostra) {
		    $AmostrasNumeradas[$Amostra['nr_amostra']] = $Amostra;
		}

		return $AmostrasNumeradas;
	}
}