<?php
require_once("../../config/config_dir_raiz.php");
$config = new Config();
require_once($config->diretorio_raiz()."/src/model/bd/Bi_conexaoDAO.php");
$bi_conexaoDAO = new Bi_conexaoDAO();
require_once($config->diretorio_raiz()."/src/model/bd/Bi_banco_de_dadosDAO.php");
$bi_banco_de_dadosDAO = new Bi_banco_de_dadosDAO(); 
$retorno = array();
if (isset($_GET["mod"]) && $_GET["mod"] == "form")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_conexao = $bi_conexaoDAO->buscarBi_conexao($_GET["codigo"]);
	}else{
		$bi_conexao = new Bi_conexao();
		$bi_conexao->setBanco_dados(new Bi_banco_de_dados());
	}
	$listaBanco_dados = $bi_banco_de_dadosDAO->listarTodosRegistros(); 
	if (isset($_GET["banco_dados"]) and $_GET["banco_dados"] != "")
	{
		$bi_conexao->setBanco_dados($bi_banco_de_dadosDAO->buscarBi_banco_de_dados($_GET["banco_dados"]));
		$campo_buscar = "&banco_dados=".$_GET["banco_dados"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_conexao/Formulario.php");
}
elseif (isset($_GET["mod"]) && ($_GET["mod"] == "salvar" or $_GET["mod"] == "alterar"))
{
	$bi_conexao = new Bi_conexao();
	$bi_conexao->setCodigo($_POST['codigo']);
	$bi_conexao->setNome($_POST['nome']);
	$bi_conexao->setBanco_dados($_POST['banco_dados']);
	$bi_conexao->setHost($_POST['host']);
	$bi_conexao->setUsuario($_POST['usuario']);
	$bi_conexao->setSenha($_POST['senha']);
	$bi_conexao->setDatabase_name($_POST['database_name']);
	$codigo = "";
	if ($_GET["mod"] == "alterar")
	{
		$bi_conexao->setCodigo($_POST['codigo']);
		$codigo = $bi_conexao->getCodigo();
		try
		{
			$retorno["mensagem"] = "Alterado com sucesso!";
			$retorno["status"] = true;
			$bi_conexaoDAO->atualizar($bi_conexao);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	else
	{
		try
		{
			$retorno["mensagem"] = "Inserido com sucesso!";
			$retorno["status"] = true;
			$codigo = $bi_conexaoDAO->salvar($bi_conexao);
		}
		catch (Exception  $e)
		{
			$retorno["mensagem"] = $e->getMessage();
			$retorno["status"] = false;
		}
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "excluir")
{
	try
	{
		$bi_conexao = $bi_conexaoDAO->buscarBi_conexao($_GET["codigo"]);
		$bi_conexaoDAO->excluir($bi_conexao);
		$retorno["mensagem"] = utf8_decode("Excluido com sucesso!");
		$retorno["status"] = true;
	}
	catch (Exception  $e)
	{
		$retorno["mensagem"] = $e->getMessage();
		$retorno["status"] = false;
	}
	echo json_encode($retorno);
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "listar")
{
	if (isset($_GET["banco_dados"]) and $_GET["banco_dados"] != "")
	{
		$campo_buscar = "&banco_dados=".$_GET["banco_dados"]; 
	}
	$listaBi_conexao = $bi_conexaoDAO->listarTodosRegistros();
	include_once($config->diretorio_raiz()."/src/view/bi_conexao/Listar_todos_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "filtro")
{
	if ( (isset($_GET["codigo"]) and $_GET["codigo"] != "")  )
	{
		$bi_conexao = $bi_conexaoDAO->buscarBi_conexao($_GET["codigo"]);
	}else{
		$bi_conexao = new Bi_conexao();
		$bi_conexao->setBanco_dados(new Bi_banco_de_dados());
	}
	$listaBanco_dados = $bi_banco_de_dadosDAO->listarTodosRegistros(); 
	if (isset($_GET["banco_dados"]) and $_GET["banco_dados"] != "")
	{
		$bi_conexao->setBanco_dados($bi_banco_de_dadosDAO->buscarBi_banco_de_dados($_GET["banco_dados"]));
		$campo_buscar = "&banco_dados=".$_GET["banco_dados"]; 
	}
	include_once($config->diretorio_raiz()."/src/view/bi_conexao/Filtro_lista_registros.php");
}
elseif (isset($_GET["mod"]) && $_GET["mod"] == "busca_por_campo_filtro")
{
	$entrouEmAlgumFiltro = false;
 	$where = " where 1=1";
	if(isset($_GET['codigo']) and $_GET["codigo"] != "" )
	{
		$where .= " and UPPER(codigo) like '%".strtoupper($_GET['codigo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&codigo=".$_GET["codigo"]; 
	}
	if(isset($_POST['codigo']) and $_POST["codigo"] != "" )
	{
		$where .= " and UPPER(codigo) like '%".strtoupper($_POST['codigo'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&codigo=".$_POST["codigo"]; 
	}
	if(isset($_GET['nome']) and $_GET["nome"] != "" )
	{
		$where .= " and UPPER(nome) like '%".strtoupper($_GET['nome'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&nome=".$_GET["nome"]; 
	}
	if(isset($_POST['nome']) and $_POST["nome"] != "" )
	{
		$where .= " and UPPER(nome) like '%".strtoupper($_POST['nome'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&nome=".$_POST["nome"]; 
	}
	if(isset($_GET['banco_dados']) and $_GET['banco_dados'] != "")
	{
		$where .= " and banco_dados = ". $_GET['banco_dados'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&banco_dados=".$_GET["banco_dados"]; 
	}
	if(isset($_POST['banco_dados']) and $_POST['banco_dados'] != "")
	{
		$where .= " and banco_dados = ". $_POST['banco_dados'];
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&banco_dados=".$_POST["banco_dados"]; 
	}
	if(isset($_GET['host']) and $_GET["host"] != "" )
	{
		$where .= " and UPPER(host) like '%".strtoupper($_GET['host'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&host=".$_GET["host"]; 
	}
	if(isset($_POST['host']) and $_POST["host"] != "" )
	{
		$where .= " and UPPER(host) like '%".strtoupper($_POST['host'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&host=".$_POST["host"]; 
	}
	if(isset($_GET['usuario']) and $_GET["usuario"] != "" )
	{
		$where .= " and UPPER(usuario) like '%".strtoupper($_GET['usuario'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&usuario=".$_GET["usuario"]; 
	}
	if(isset($_POST['usuario']) and $_POST["usuario"] != "" )
	{
		$where .= " and UPPER(usuario) like '%".strtoupper($_POST['usuario'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&usuario=".$_POST["usuario"]; 
	}
	if(isset($_GET['senha']) and $_GET["senha"] != "" )
	{
		$where .= " and UPPER(senha) like '%".strtoupper($_GET['senha'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&senha=".$_GET["senha"]; 
	}
	if(isset($_POST['senha']) and $_POST["senha"] != "" )
	{
		$where .= " and UPPER(senha) like '%".strtoupper($_POST['senha'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&senha=".$_POST["senha"]; 
	}
	if(isset($_GET['database_name']) and $_GET["database_name"] != "" )
	{
		$where .= " and UPPER(database_name) like '%".strtoupper($_GET['database_name'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&database_name=".$_GET["database_name"]; 
	}
	if(isset($_POST['database_name']) and $_POST["database_name"] != "" )
	{
		$where .= " and UPPER(database_name) like '%".strtoupper($_POST['database_name'])."%'";
		$entrouEmAlgumFiltro = true;
		$campo_buscar = "&database_name=".$_POST["database_name"]; 
	}
	$listaBi_conexao = $bi_conexaoDAO->buscarFiltro($where);
	include_once($config->diretorio_raiz()."/src/view/bi_conexao/Listar_todos_registros.php");
}
