<?php

class Produto_Model_ValidacaoLimitesLmga extends Agro_Db_Table_Abstract {
	protected $_schema  = 'produto';
	protected $_name    = 'validacoes_limites_lmga';
	protected $_primary = 'id';
	public    $_order   = 'id';

	public function save($dados) {

		$Row                  = $this->getRow($dados['id']);
		$Row->id_produto      = $dados['id_produto'];
		$Row->ds_nome_grupo   = $dados['ds_nome_grupo'];
		$Row->fl_grupo_padrao = ($dados['fl_grupo_padrao'] ? 't' : 'f');
		$Row->tp_grupo        = $dados['tp_grupo'];

		if($Row->save()){
			return $Row->id;
		} else {
			return false;
		}
	}

	public function getMunicipios($id, $tipo='') {
		if ($id) {
			$select = $this->select();
			$select->setIntegrityCheck(false);
			$select->from('produto.validacoes_limites_lmga_municipios');
			$select->where("id_validacao_limites_lmga=$id");
			if($tipo == 'municipio') {
				$select->where('id_validacao_limites_lmga NOT IN (select id_validacao_limites_lmga from produto.validacoes_limites_lmga_usuarios)');
			}

			$Rs = $this->fetchAll($select);
			$municipios = array();

			if ($Rs) {
				foreach ($Rs as $item) {
					$municipios[] = $item['id_municipio'];
				}
			}

			return $municipios;
		}
	}


	public function getEstadosComercializados($id) {
		if ($id) {
			$select = $this->select()->distinct(true);
			$select->setIntegrityCheck(false);
			$select->from(array('m' => 'sistema.municipios'), array('id_estado'));
			$select->join(array('lm' => 'produto.validacoes_limites_lmga_municipios'), 'lm.id_municipio = m.id', array());

			$select->where("lm.id_validacao_limites_lmga = ?", $id);

			$Rs = $this->fetchAll($select);

			$estados = array();

			if ($Rs) {
				foreach ($Rs as $item) {
					$estados[] = $item['id_estado'];
				}
			}

			return $estados;
		}
	}

	public function beforeDelete($id) {
		try {
			$Model = new Produto_Model_ValidacaoLimitesLmgaEstados();
			$Model->delete($id, 'id_validacao_limites_lmga');

			$Model = new Produto_Model_ValidacaoLimitesLmgaMunicipios();
			$Model->delete($id, 'id_validacao_limites_lmga');

			$Model = new Produto_Model_ValidacaoLimitesLmgaUsuarios();
			$Model->delete($id, 'id_validacao_limites_lmga');

			$Model = new Produto_Model_ProdutosVariedades();
			$Model->delete($id, 'id_validacao_limites_lmga');

			return true;
		} catch (Exception $e) {
			die($e);
			$this->setMessage("Não foi possível deletar o produto, existem pendência que impedem a operação.");
			return false;
		}
	}
}



























