<?php
/**
 * Model
 * 
 * Laudo final Tipo LF001 / Safra13 - Item Segurado (Totalização de Perdas)
 * 
 * @author Fernando Nunes
 * @date 28/02/2011
 *
 */
class Regulacao_Model_Lf009ItensSeguradosAmostras extends Agro_Db_Table_Abstract {
	protected $_rowClass = 'Regulacao_Model_Row_Lf009ItemSeguradoAmostras';
	protected $_schema 	= 'regulacao';
	protected $_name 	= 'lf009_itens_segurados_amostras';
	protected $_primary = 'id';
	public 	  $_order 	= 'id_laudo_final';
		
	public function save($dados){

	    $Model_Lf009ItensSegurados = new Regulacao_Model_Lf009ItensSegurados();
	    
	    $idLaudoFinalItemSegurado = $Model_Lf009ItensSegurados->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) {
    		    die($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;
	}
}