<?php
/**
 *
 * @author Tonismar
 * @date 04/06/2018
 *
 */
class Regulacao_Model_Lf032ItensSeguradosAmostras extends Agro_Db_Table_Abstract {
    protected $_rowClass = 'Regulacao_Model_Row_Lf032ItemSeguradoAmostras';
    protected $_schema 	= 'regulacao';
    protected $_name 	= 'lf032_itens_segurados_amostras';
    protected $_primary = 'id';
    public 	  $_order 	= 'id_laudo_final';

    public function save($dados){
        $Model_Lf032ItensSegurados = new Regulacao_Model_Lf032ItensSegurados();
        
        $idLaudoFinalItemSegurado = $Model_Lf032ItensSegurados->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 {
            $this->setMessage($Model_Lf032ItensSegurados->getMessages());
            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;
    }
    
}