<?php

class Produto_Model_ProdutosCoberturasCondicoesEspeciais extends Agro_Db_Table_Abstract {
	protected $_schema  = 'produto';
	protected $_name    = 'produtos_coberturas_condicoes_especiais';
	protected $_primary = 'id_produto';

	public function getCondicoesEspeciais($idProduto, $idCobertura) {
		$Select = $this->select()->distinct(true)->setIntegrityCheck(false);
		$Select->from(array('pc' => 'produto.produtos_coberturas_condicoes_especiais'));
		$Select->where("id_produto = ?", $idProduto);
		$Select->where("id_cobertura = ?", $idCobertura);
		$Select->order('id_condicao_especial');
		$Rs = $this->fetchAll($Select);
	
		$options = array();
		if ($Rs->count()) {
			foreach ($Rs as $Row) {
				$options[$Row->id_condicao_especial] = $Row->id_condicao_especial;
			}
		}
	
		return $options;
	}

	public function save($idProduto, $idCobertura, $arProdutoCoberturas) {

		$this->delete($idProduto, $idCobertura);
		
		foreach ($arProdutoCoberturas as $idCondicaoComercial) {
			$Row = $this->createRow();
	
			$Row->id_produto           = $idProduto;
			$Row->id_cobertura         = $idCobertura;
			$Row->id_condicao_especial = $idCondicaoComercial;
	
			$Row->save();
		}
		
		return true; 
	}

	
	public function saveCopiaCondicoesEspeciais(array $data) {
		try {
	
	    	$Row = $this->createRow();
	
			$Row->id_produto = $data['id_produto'];
			$Row->id_cobertura = $data['id_cobertura'];
			$Row->id_condicao_especial = $data['id_condicao_especial'];
	
			return $Row->save();

		} catch (Exception $e) {
			$this->setMessage($e->getMessage());
			return false;
		}
	}
	
	public function delete($idProduto, $idCobertura) {
		$this->getAdapter()->query("delete from produto.produtos_coberturas_condicoes_especiais where id_produto = {$idProduto} and id_cobertura = {$idCobertura}");
	}	
}



























