<?php

class Produto_ValidacoescapacidadeusuariosController extends Agro_Controller_Action {

	public function saverelacionamentousuarioAction() {
		$this->isAjax();
		$Corretores = new Sistema_Model_Corretores();
		$Prepostos = new Sistema_Model_Prepostos();
		$corretores = $Corretores->fetchAll('fl_ativo = true', 'id')->toArray();
		$prepostos = $Prepostos->fetchAll('fl_ativo = true', id)->toArray();
		$geral = array_merge($corretores, $prepostos);

		try {
			if ($this->getRequest()->getParam('tipo_corretor_vinculo') == "") {
			 	throw new Exception("É necessário selecionar um tipo de configuração corretor/preposto.",1);
			}

			$LimitesUsuarios = new Produto_Model_ValidacoesCapacidadeUsuarios();
			$LimitesUsuarios->clearUsuarios($this->getRequest()->getParam('id'));

			if (is_array($this->getRequest()->getParam('id_usuario'))) {

				if ($this->getRequest()->getParam('tipo_corretor_vinculo') == 't') {
					foreach ($geral as $user) {
						$LimitesUsuarios->save($this->getRequest()->getParam('id'), $user['id_usuario']);
					}
				} elseif ($this->getRequest()->getParam('tipo_corretor_vinculo') == 'e') {
					foreach ($geral as $user) {
						if(!in_array($user['id_usuario'], $this->getRequest()->getParam('id_usuario'))) {
							$LimitesUsuarios->save($this->getRequest()->getParam('id'), $user['id_usuario']);
						}
					}
				} elseif ($this->getRequest()->getParam('tipo_corretor_vinculo') == 'a') {
					foreach ($this->getRequest()->getParam('id_usuario') as $idUser) {
						$LimitesUsuarios->save($this->getRequest()->getParam('id'), $idUser);
					}
				}
			}

			//update no tipo de vinculo na tabela do grupo
			$Capacidade = new Produto_Model_Validacoescapacidade();
			$RowCapacidade = $Capacidade->getRow($this->getRequest()->getParam('id'));
			if ($RowCapacidade) {
				$RowCapacidade->tipo_corretor_vinculo = $this->getRequest()->getParam('tipo_corretor_vinculo');
				$RowCapacidade->save();
			}

			$result = array("status"=>true, "message"=>"Usuários relacionados com sucesso.");
		} catch (Exception $e) {
			$result = array("status"=>false, "message"=>"Não foi possível relacionar usuários.\n\nErro:".$e->getMessage());
		}

		$this->getResponse()->setBody(Zend_Json::encode($result));
	}
	
	public function saverelacionamentousuariocomercialAction() {
		$this->isAjax();
	
		try {
			$LimitesUsuarios = new Produto_Model_ValidacoesCapacidadeUsuarios();
			$LimitesUsuarios->clearUsuarios($this->getRequest()->getParam('id'));
	
			foreach ($this->getRequest()->getParam('id_usuario') as $idUser) {
				$LimitesUsuarios->save($this->getRequest()->getParam('id'), $idUser);
			}
	
			$result = array("status"=>true, "message"=>"Usuários relacionados com sucesso.");
		} catch (Exception $e) {
			$result = array("status"=>false, "message"=>"Não foi possível relacionar usuários.\n\nErro:".$e->getMessage());
		}
	
		$this->getResponse()->setBody(Zend_Json::encode($result));
	}
}
