/**
  * Método inicial do controle
  */
 function inicial()
 {
     $this->criarVisualizacaoPadrao();
     $this->registrarInternacionalizacao($this, $this->visualizacao);
     $this->gerarMenus();
     $conexao = conexao::criar();
     $persistente = new PUtilitario($conexao);
     $this->visualizacao->listagem = $persistente->lerTabelas();
     $this->visualizacao->action = '';
     parent::inicial();
 }
 /**
  * Método inicial do controle
  */
 public function inicial()
 {
     $this->passarProximoControle(definicaoEntidade::controle($this, 'listarEntidade'));
     $conexao = conexao::criar();
     $persistente = new PUtilitario($conexao);
     $this->tabelas = $persistente->lerTabelas();
     foreach ($this->tabelas as $tabela) {
         $arTabela = $persistente->lerTabela($tabela);
         $arDadosGerador = $this->prepararDados($tabela, $arTabela);
         CUtilitario_geradorGerarFonte::gerarFonte($this->visualizacao, $arDadosGerador);
     }
 }
 /**
  * Método inicial do controle
  */
 function inicial()
 {
     $this->visualizacao = new visualizacaoPadrao($this);
     $this->inter = new IUtilitario();
     $this->criarVisualizacaoPadrao();
     $d = dir(".");
     $pUtilitario = new PUtilitario(conexao::criar());
     $negocios = new colecao();
     $controles = new colecao();
     $tabelas = new colecao();
     $sequencias = new colecao();
     $classesNegocio = new colecao();
     $camposDefinidos = new colecao();
     $camposExistentes = new colecao();
     $diferencas = new colecao();
     while (false !== ($arquivo = $d->read())) {
         if (is_dir($arquivo) && $arquivo[0] !== '.') {
             if (is_file($arquivo . '/classes/N' . ucfirst($arquivo) . '.php')) {
                 $negocio = 'N' . ucfirst($arquivo);
                 $obNegocio = new $negocio();
                 if ($obNegocio instanceof negocioPadrao) {
                     $negocios->{$arquivo} = $obNegocio->pegarInter()->pegarNome();
                     $tabelas->{$arquivo} = $obNegocio->pegarPersistente()->pegarNomeTabela();
                     $sequencias->{$arquivo} = $obNegocio->pegarPersistente()->pegarNomeSequencia();
                     $classesNegocio->{$arquivo} = 'N' . ucfirst($arquivo);
                     $camposDefinidos->{$arquivo} = count($obNegocio->pegarMapeamento());
                     $camposExistentes->{$arquivo} = count($pUtilitario->lerCampos($obNegocio->pegarPersistente()->pegarNomeTabela()));
                     $diferencas->{$arquivo} = $camposDefinidos->{$arquivo} - $camposExistentes->{$arquivo} ? 'difereça' : '';
                     $controles->{$arquivo} = 'C' . ucfirst($arquivo) . '_verPesquisa';
                 }
             }
         }
     }
     $d->close();
     asort($negocios->itens);
     $this->gerarMenus();
     $this->registrarInternacionalizacao($this, $this->visualizacao);
     $this->visualizacao->listagem = $negocios->itens;
     $this->visualizacao->controles = $controles->itens;
     $this->visualizacao->tabelas = $tabelas->itens;
     $this->visualizacao->sequencias = $sequencias->itens;
     $this->visualizacao->negocios = $classesNegocio->itens;
     $this->visualizacao->camposDefinidos = $camposDefinidos->itens;
     $this->visualizacao->camposExistentes = $camposExistentes->itens;
     $this->visualizacao->diferencas = $diferencas->itens;
     $this->visualizacao->action = '';
     parent::inicial();
 }
 /**
  * Método de montagem da tabela
  */
 function montarTabela()
 {
     $json = new json();
     $conexao = conexao::criar();
     $persistente = new PUtilitario($conexao);
     $desc = $persistente->lerTabela($_GET['tabela']);
     $sequences = $persistente->lerSequenciasDoBanco($_GET['tabela']);
     $sequences = array_merge(array('' => ' '), $sequences);
     if ($sequences) {
         $this->visualizacao->nomeSequence = VComponente::montar('select', 'nomeSequence', null, null, $sequences);
     }
     $mapNegocio['bd']['nomeTabela'] = $_GET['tabela'];
     $mapNegocio['bd']['nomeSequencia'] = '«Nome da sequência???»';
     $mapNegocio['bd']['chavePrimaria'] = '';
     $mapNegocio['bd']['ordem'] = array('1' => '');
     $mapNegocio['inter']['nome'] = '«Nome da entidade??»';
     $mapNegocio['inter']['titulo'] = '';
     $mapNegocio['inter']['tituloSistema'] = '';
     $mapNegocio['inter']['subtituloSistema'] = '';
     foreach ($desc as $indice => $campo) {
         $tipoDeDado = $campo['tipo_de_dado'];
         switch ($campo['tipo_de_dado']) {
             case 'numerico':
                 $campo['tamanho'] = $campo['tamanho'] > 30 ? 20 : $campo['tamanho'];
                 $componente = 'numerico';
                 break;
             case 'data':
                 $campo['tamanho'] = '';
                 $componente = 'data';
                 break;
             default:
                 $componente = 'caixa de entrada';
         }
         switch (true) {
             case $campo['campo_pk']:
                 $mapNegocio['bd']['chavePrimaria'] = $campo['campo_pk'];
                 $componente = 'oculto';
                 $chaveEstrangeira = false;
                 break;
             case $campo['campo_fk']:
                 $componente = 'caixa de combinacao';
                 $chaveEstrangeira = array('tabela' => $campo['esquema_fk'] . '.' . $campo['tabela_fk'], 'campo' => $campo['campo_fk']);
                 break;
             default:
                 $tipoDeDado = $campo['tipo_de_dado'] == 'numerico' ? 'tnumerico' : $campo['tipo_de_dado'];
                 $chaveEstrangeira = false;
         }
         $mapNegocio['entidade'][$indice]['negocio']['propriedade'] = str_replace(' ', '', ucwords(str_replace('_', ' ', $campo['campo'])));
         $mapNegocio['entidade'][$indice]['negocio']['propriedade'][0] = strtolower($mapNegocio['entidade'][$indice]['negocio']['propriedade'][0]);
         $mapNegocio['entidade'][$indice]['negocio']['tipo'] = $tipoDeDado;
         $mapNegocio['entidade'][$indice]['negocio']['campo'] = $campo['campo'];
         $mapNegocio['entidade'][$indice]['negocio']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : '';
         $mapNegocio['entidade'][$indice]['negocio']['indiceUnico'] = '';
         $mapNegocio['entidade'][$indice]['negocio']['dominio'] = '';
         $mapNegocio['entidade'][$indice]['negocio']['descritivo'] = '';
         $mapNegocio['entidade'][$indice]['negocio']['classeAssociativa'] = $chaveEstrangeira ? '«Classe de Negocio ???»' : '';
         $mapNegocio['entidade'][$indice]['negocio']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : '';
         $mapNegocio['entidade'][$indice]['controle']['componente'] = $componente;
         $mapNegocio['entidade'][$indice]['controle']['tamanho'] = '';
         $mapNegocio['entidade'][$indice]['controle']['tipo'] = $campo['tipo_de_dado'];
         $mapNegocio['entidade'][$indice]['controle']['obrigatorio'] = $campo['obrigatorio'] ? 'sim' : '';
         $mapNegocio['entidade'][$indice]['controle']['pesquisa'] = '';
         $mapNegocio['entidade'][$indice]['controle']['valores'] = array();
         $mapNegocio['entidade'][$indice]['controle']['classeAssociativa'] = $chaveEstrangeira ? 'Classe de Negocio ???' : '';
         $mapNegocio['entidade'][$indice]['controle']['metodoLeitura'] = $chaveEstrangeira ? 'lerTodos' : '';
         $mapNegocio['entidade'][$indice]['controle']['listagem'] = $campo['campo_pk'] ? '1' : '';
         $mapNegocio['entidade'][$indice]['controle']['hyperlink'] = $campo['campo_pk'] ? 'sim' : '';
         $mapNegocio['entidade'][$indice]['controle']['largura'] = $campo['campo_pk'] ? '10%' : '';
         $mapNegocio['entidade'][$indice]['controle']['ordem'] = $campo['campo_pk'] ? 1 : '';
         $mapNegocio['entidade'][$indice]['controle']['campoPersonalizado'] = '';
         $mapNegocio['entidade'][$indice]['persistente']['nome'] = $campo['campo'];
         $mapNegocio['entidade'][$indice]['persistente']['tipo'] = $tipoDeDado;
         $mapNegocio['entidade'][$indice]['persistente']['tamanho'] = $campo['tamanho'];
         $mapNegocio['entidade'][$indice]['persistente']['obrigatorio'] = '';
         $mapNegocio['entidade'][$indice]['persistente']['operadorDeBusca'] = 'igual';
         $mapNegocio['entidade'][$indice]['persistente']['chaveEstrangeira'] = $chaveEstrangeira;
         $mapNegocio['entidade'][$indice]['persistente']['ordem'] = $campo['campo_pk'] ? '1' : '';
         $mapNegocio['entidade'][$indice]['inter']['nome'] = ucfirst(str_replace('_', ' ', $campo['campo']));
         $mapNegocio['entidade'][$indice]['inter']['abreviacao'] = ucwords(str_replace('_', ' ', $campo['campo']));
         $mapNegocio['entidade'][$indice]['inter']['descricao'] = $campo['descricao'];
         $mapNegocio['entidade'][$indice]['inter']['dominio'] = '';
     }
     $this->visualizacao->dados = $json->pegarJson(array($mapNegocio));
     $this->visualizacao->campos = $mapNegocio;
     $this->visualizacao->acesso = 'Carga de tabela do banco';
     $this->visualizacao->travarSugestaoDeNomesPersistente = 'true';
 }