예제 #1
0
        private void BB_Remover_Click(object sender, EventArgs e)
        {
            if (treeConsulta.SelectedNode != null)
            {
                try
                {
                    TreeNode no = treeConsulta.SelectedNode;

                    if (!((BS_Relatorio.Current as TRegistro_Cad_Report).lConsulta.Exists(p => p.ID_Consulta == no.Name.Trim())))
                    {
                        throw new Exception("Não existe esta consulta adicionado no relatório!");
                    }
                    else
                    {
                        TRegistro_Cad_Consulta RegConsulta = BuscaConsulta(no.Name.Trim());
                        TreeNode noMenu = new TreeNode(RegConsulta.DS_Consulta.Trim());
                        noMenu.Name       = RegConsulta.ID_Consulta.ToString().Trim();
                        noMenu.ImageIndex = 0;

                        treeConsulta.Nodes.RemoveByKey(noMenu.Name);

                        (BS_Relatorio.Current as TRegistro_Cad_Report).lConsulta.Remove(RegConsulta);
                        BS_Relatorio.ResetBindings(true);

                        AtualizaTreeConsulta();
                    }
                }
                catch (Exception erro)
                {
                    MessageBox.Show("ERRO: " + erro.Message, "Mensagem");
                }
            }
        }
예제 #2
0
        public TFCad_SQL(TRegistro_Cad_Consulta Reg_Consulta, bool vEditar)
        {
            InitializeComponent();
            Cad_Consulta = Reg_Consulta;
            DS_SQL.Text  = Cad_Consulta.DS_SQL;
            Editar       = vEditar;

            //ADD O HIGHLIGHT
            //Parse();

            //BUSCA AS TABELAS PERMITIDAS
            if (!Editar)
            {
                ListaTabelasPermitidas = TCN_Cad_Usuario_X_Tabela.Busca(Utils.Parametros.pubLogin, "", "");
            }

            //DA O FOCUS
            if ((pNMConsulta.Visible))
            {
                NM_Consulta.Focus();
            }
            else
            {
                DS_SQL.Focus();
            }
        }
예제 #3
0
        public static string GravaConsulta(TRegistro_Cad_Consulta val, TObjetoBanco banco)
        {
            TCD_Cad_Consulta cd = new TCD_Cad_Consulta();

            if (banco != null)
            {
                cd.Banco_Dados = banco;
            }
            return(cd.Grava(val));
        }
예제 #4
0
        public static TRegistro_Cad_DataSource ConvertConsultaparaDTS(TRegistro_Cad_Consulta Cad_Consulta)
        {
            TRegistro_Cad_DataSource reg_DTS = new TRegistro_Cad_DataSource();

            reg_DTS.DS_DataSource = Cad_Consulta.DS_Consulta;
            reg_DTS.DS_SQL        = Cad_Consulta.DS_SQL;
            reg_DTS.DT_DataSource = Cad_Consulta.DT_Consulta;
            reg_DTS.ID_DataSource = Cad_Consulta.ID_Consulta;

            return(reg_DTS);
        }
예제 #5
0
        public static TRegistro_Cad_Consulta ConvertDTSparaConsulta(TRegistro_Cad_DataSource reg_DTS)
        {
            TRegistro_Cad_Consulta Cad_Consulta = new TRegistro_Cad_Consulta();

            Cad_Consulta.DS_Consulta = reg_DTS.DS_DataSource;
            Cad_Consulta.DS_SQL      = reg_DTS.DS_SQL;
            Cad_Consulta.DT_Consulta = reg_DTS.DT_DataSource;
            Cad_Consulta.ID_Consulta = reg_DTS.ID_DataSource.ToString();

            return(Cad_Consulta);
        }
예제 #6
0
        private void tsBB_EditarConsulta_Click(object sender, EventArgs e)
        {
            TRegistro_Cad_Consulta Reg_Consulta = null;

            if (treeConsulta.Focused && treeConsulta.SelectedNode != null)
            {
                Reg_Consulta = BuscaConsulta(treeConsulta.SelectedNode.Name);
            }
            else if (treeConsultaBusca.Focused && treeConsultaBusca.SelectedNode != null)
            {
                Reg_Consulta = BuscaConsulta(treeConsultaBusca.SelectedNode.Name);
            }

            if (Reg_Consulta != null)
            {
                try
                {
                    TFCad_SQL fSQL = new TFCad_SQL(Reg_Consulta, true);
                    fSQL.Homologacao         = true;
                    fSQL.pNMConsulta.Visible = true;
                    fSQL.NM_Consulta.Text    = Reg_Consulta.DS_Consulta;
                    fSQL.ShowDialog();

                    if (fSQL.Cad_Consulta.DS_SQL != "")
                    {
                        //ADD OS DADOS QUE FALTA
                        Reg_Consulta.DS_Consulta = fSQL.NM_Consulta.Text;
                        Reg_Consulta.DS_SQL      = fSQL.DS_SQL.Text;

                        //ADD AO BIND
                        if (lConsulta.Exists(p => p.ID_Consulta == Reg_Consulta.ID_Consulta))
                        {
                            lConsulta.Remove(Reg_Consulta);
                            lConsulta.Add(Reg_Consulta);

                            TCN_Cad_Consulta.GravaConsulta(Reg_Consulta, null);
                        }
                        else
                        {
                            (BS_Relatorio.Current as TRegistro_Cad_Report).lConsulta.Remove(Reg_Consulta);
                            (BS_Relatorio.Current as TRegistro_Cad_Report).lConsulta.Add(Reg_Consulta);
                            BS_Relatorio.ResetBindings(true);
                        }

                        AtualizaTreeConsulta();
                    }
                }
                catch (Exception erro)
                {
                    MessageBox.Show("ERRO: " + erro.Message, "Mensagem");
                }
            }
        }
예제 #7
0
        public TRegistro_Cad_Consulta BuscaConsulta(string IDConsulta)
        {
            TRegistro_Cad_Consulta reg_Consulta = null;

            foreach (TRegistro_Cad_Consulta RegConsulta in lConsulta)
            {
                if (RegConsulta.ID_Consulta == IDConsulta)
                {
                    reg_Consulta = RegConsulta;
                    break;
                }
            }

            return(reg_Consulta);
        }
예제 #8
0
        public static TRegistro_Cad_Report ConvertRDCparaReport(TRegistro_Cad_RDC reg_RDC)
        {
            TRegistro_Cad_Report Cad_Report = new TRegistro_Cad_Report();

            Cad_Report.ID_RDC      = reg_RDC.ID_RDC.ToString();
            Cad_Report.Modulo      = reg_RDC.Modulo;
            Cad_Report.Ident       = reg_RDC.Ident;
            Cad_Report.NM_Classe   = reg_RDC.NM_Classe;
            Cad_Report.Versao      = reg_RDC.Versao;
            Cad_Report.Code_Report = reg_RDC.Code_Report;
            Cad_Report.DS_Report   = reg_RDC.DS_RDC;

            foreach (TRegistro_Cad_DataSource reg_DTS in reg_RDC.lCad_DataSource)
            {
                TRegistro_Cad_Consulta Cad_Consulta = new TRegistro_Cad_Consulta();
                Cad_Consulta.DS_Consulta = reg_DTS.DS_DataSource;
                Cad_Consulta.DS_SQL      = reg_DTS.DS_SQL;
                Cad_Consulta.DT_Consulta = reg_DTS.DT_DataSource;
                Cad_Consulta.ID_Consulta = reg_DTS.ID_DataSource.ToString();

                //ADD OS PARAM DE BUSCA
                foreach (CamadaDados.WS_RDC.TRegistro_Cad_ParamClasse reg_Param in reg_DTS.lCad_ParamClasse)
                {
                    CamadaDados.Consulta.Cadastro.TRegistro_Cad_ParamClasse Cad_Param = new CamadaDados.Consulta.Cadastro.TRegistro_Cad_ParamClasse();

                    Cad_Param.CodigoCMP       = reg_Param.CodigoCMP;
                    Cad_Param.CondicaoBusca   = reg_Param.CondicaoBusca;
                    Cad_Param.NM_CampoFormat  = reg_Param.NM_CampoFormat;
                    Cad_Param.NM_Classe       = reg_Param.NM_Classe;
                    Cad_Param.NM_DLL          = reg_Param.NM_DLL;
                    Cad_Param.NM_Param        = reg_Param.NM_Param;
                    Cad_Param.NomeCMP         = reg_Param.NomeCMP;
                    Cad_Param.RadioCheckGroup = reg_Param.RadioCheckGroup;
                    Cad_Param.St_Null         = reg_Param.St_Null;
                    Cad_Param.St_Obrigatorio  = reg_Param.St_Obrigatorio;
                    Cad_Param.TP_Dado         = reg_Param.TP_Dado;

                    Cad_Consulta.lParamClasse.Add(Cad_Param);
                }

                //ADD A CONSULTA
                Cad_Report.lConsulta.Add(Cad_Consulta);
            }

            return(Cad_Report);
        }
예제 #9
0
        public static string DeletaConsulta(TRegistro_Cad_Consulta val, TObjetoBanco banco)
        {
            bool                      st_transacao         = false;
            TCD_Cad_Consulta          CD_Consulta          = new TCD_Cad_Consulta();
            TCD_Cad_Report_X_Consulta CD_Report_X_Consulta = new TCD_Cad_Report_X_Consulta();
            TCD_Cad_Filtro            CD_Filtro            = new TCD_Cad_Filtro();
            TCD_Cad_Campo_Amarracao   CD_Campo_Amarracao   = new TCD_Cad_Campo_Amarracao();
            TCD_Cad_Amarracoes        CD_Amarracoes        = new TCD_Cad_Amarracoes();
            TCD_Cad_Ordenacao         CD_Ordenacao         = new TCD_Cad_Ordenacao();
            TCD_Cad_Campo             CD_Campo             = new TCD_Cad_Campo();

            try
            {
                if (banco == null)
                {
                    CD_Consulta.CriarBanco_Dados(true);
                    st_transacao = true;
                }
                else
                {
                    CD_Consulta.Banco_Dados = banco;
                }

                //DELETAR CONSULTA

                /*string retorno = CD_Report_X_Consulta.DeletarReportPorConsulta(val.ID_Consulta);
                 * retorno = CD_Filtro.DeletaPorConsulta(val.ID_Consulta);
                 * retorno = CD_Ordenacao.DeletaPorConsulta(val.ID_Consulta);
                 * retorno = CD_Campo.DeletaTodos(val.ID_Consulta);
                 *
                 * //DELETA AS TABELAS AMARRADAS
                 * TList_Cad_Amarracoes listAmarracoes = TCN_Cad_Amarracoes.Busca(0, val.ID_Consulta);
                 *
                 * for (int i = 0; i < listAmarracoes.Count; i++)
                 * {
                 *  retorno = CD_Campo_Amarracao.DeletaPorAmarracoes(listAmarracoes[i].ID_Amarracoes);
                 * }
                 *
                 * retorno = CD_Amarracoes.DeletaPorConsulta(val.ID_Consulta);
                 */
                //DELETE A CONSULTA
                string retorno = CD_Consulta.Deleta(val);

                if (st_transacao)
                {
                    CD_Consulta.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch
            {
                if (st_transacao)
                {
                    CD_Consulta.Banco_Dados.RollBack_Tran();
                }
                return("");
            }
            finally
            {
                if (st_transacao)
                {
                    CD_Consulta.deletarBanco_Dados();
                }
            }
        }
예제 #10
0
        public static string BuscaStringSQL(TRegistro_Cad_Consulta Cad_Consulta, Boolean criarwhere)
        {
            //BUSCA AS TABELAS
            TList_Cad_Amarracoes listaTabelas = TCN_Cad_Amarracoes.Busca(0, Cad_Consulta.ID_Consulta);

            string        SQLConsulta = "";
            StringBuilder SQL         = new StringBuilder();

            if (listaTabelas.Count > 0)
            {
                SQL.AppendLine("SELECT ");
                try
                {
                    //BUSCA OS CAMPOS
                    TList_Cad_Campo listaCampo = TCN_Cad_Campo.Busca(0, Cad_Consulta.ID_Consulta, "");
                    string          virgula    = ", ";
                    SQLConsulta = "";
                    for (int i = 0; i < listaCampo.Count; i++)
                    {
                        SQLConsulta += listaCampo[i].Alias_Campo + "." + listaCampo[i].NM_Campo + virgula;
                        if ((i + 2) == listaCampo.Count)
                        {
                            virgula = "";
                        }
                    }

                    if (listaCampo.Count > 0)
                    {
                        if (SQLConsulta.Trim() != "")
                        {
                            SQL.AppendLine(SQLConsulta);
                            SQLConsulta = "";
                        }
                    }
                    else
                    {
                        SQL.AppendLine(" 1 ");
                    }

                    //BUSCA A TABELA PRINCIPAL E SEPARA OS CAMPOS CERTOS
                    string from = "";
                    string join = "";
                    for (int i = 0; i < listaTabelas.Count; i++)
                    {
                        if (listaTabelas[i].ST_Principal.Trim() == "S")
                        {
                            from = "FROM " + listaTabelas[i].NM_Tabela;
                        }
                        else
                        {
                            TpBusca[] vBusca = new TpBusca[0];
                            Array.Resize(ref vBusca, vBusca.Length + 1);
                            vBusca[vBusca.Length - 1].vNM_Campo = "a.id_tipo_amarracao";
                            vBusca[vBusca.Length - 1].vOperador = "=";
                            vBusca[vBusca.Length - 1].vVL_Busca = "'" + listaTabelas[i].ID_Tipo_Amarracao + "'";

                            string tipoAmarracao = new TCD_Cad_TipoAmarracao().BuscarEscalar(vBusca, "a.sigla_amarracao").ToString();

                            if (tipoAmarracao != "")
                            {
                                TList_Cad_Campo_Amarracao listaCampoTabela = TCN_Cad_Campo_Amarracao.Busca(0, Cad_Consulta.ID_Consulta, 0, listaTabelas[i].ID_Amarracoes);

                                if (listaCampoTabela.Count > 0)
                                {
                                    join += tipoAmarracao + " " + listaTabelas[i].NM_Tabela + " on ";
                                }

                                //BUSCA OS CAMPOS DOS JOINS
                                string and = "";
                                for (int x = 0; x < listaCampoTabela.Count; x++)
                                {
                                    if ((x + 1) < listaCampoTabela.Count)
                                    {
                                        and = " AND ";
                                    }
                                    else
                                    {
                                        and = "";
                                    }
                                    join += listaCampoTabela[x].NM_Tabela_Base + "." + listaCampoTabela[x].Campo_Base;
                                    join += " = ";
                                    join += listaCampoTabela[x].NM_Tabela_Estrangeiro + "." + listaCampoTabela[x].Campo_Estrangeiro + " " + and;
                                }
                            }
                        }
                    }

                    //ADD OS JOIN PARA O SELECT
                    SQLConsulta += from + " " + join;
                    if (SQLConsulta.Trim() != "")
                    {
                        SQL.AppendLine(SQLConsulta);
                        SQLConsulta = "";
                    }

                    if (criarwhere)
                    {
                        //BUSCA OS FILTRO WHERE
                        TList_Cad_Filtro listaFiltro = TCN_Cad_Filtro.Busca(0, Cad_Consulta.ID_Consulta, "");

                        string cond = "WHERE ";
                        for (int i = 0; i < listaFiltro.Count; i++)
                        {
                            if (listaFiltro[i].ID_Operador > 0)
                            {
                                TpBusca[] vBuscaOperador = new TpBusca[0];
                                Array.Resize(ref vBuscaOperador, vBuscaOperador.Length + 1);
                                vBuscaOperador[vBuscaOperador.Length - 1].vNM_Campo = "a.id_operador";
                                vBuscaOperador[vBuscaOperador.Length - 1].vOperador = "=";
                                vBuscaOperador[vBuscaOperador.Length - 1].vVL_Busca = "'" + listaFiltro[i].ID_Operador + "'";

                                string operador = new TCD_Cad_Operador().BuscarEscalar(vBuscaOperador, "a.sigla_operador").ToString();

                                if (operador != "")
                                {
                                    TList_Cad_ParamClasse listaParam = TCN_Cad_ParamClasse.Buscar(listaFiltro[i].ID_ParamClasse, "", "", "", 0, null);

                                    if (operador.Trim().ToUpper() == "LIKE")
                                    {
                                        SQLConsulta += cond + " (" + listaFiltro[i].Alias_Campo + "." + listaFiltro[i].NM_Campo + operador + "'%" + listaParam[0].NM_CampoFormat + "%')";
                                    }
                                    else
                                    {
                                        SQLConsulta += cond + " (" + listaFiltro[i].Alias_Campo + "." + listaFiltro[i].NM_Campo + operador + "'" + listaParam[0].NM_CampoFormat + "')";
                                    }

                                    if ((i + 1) < listaFiltro.Count)
                                    {
                                        if (listaFiltro[(i + 1)].ST_Ligacao == "A")
                                        {
                                            cond = " AND ";
                                        }
                                        else
                                        {
                                            cond = " AND ";
                                        }
                                    }
                                    else
                                    {
                                        cond = " AND ";
                                    }
                                }
                            }
                        }

                        if (SQLConsulta.Trim() != "")
                        {
                            SQL.AppendLine(SQLConsulta);
                            SQLConsulta = "";
                        }
                    }

                    //BUSCA OS CAMPOS DE ORDENAÇÃO
                    TList_Cad_Ordenacao listaOrdenacao = TCN_Cad_Ordenacao.Busca(0, Cad_Consulta.ID_Consulta, "");

                    if (listaOrdenacao.Count > 0)
                    {
                        SQLConsulta += "ORDER BY ";
                    }

                    for (int i = 0; i < listaOrdenacao.Count; i++)
                    {
                        SQLConsulta += listaOrdenacao[i].Alias_Campo + "." + listaOrdenacao[i].NM_Campo + " ";
                        SQLConsulta += listaOrdenacao[i].TP_Ordenacao.Equals("A") ? "ASC" : "DESC";
                        SQLConsulta += "";
                    }

                    if (SQLConsulta.Trim() != "")
                    {
                        SQL.AppendLine(SQLConsulta);
                        SQLConsulta = "";
                    }
                }
                catch (Exception erro)
                {
                    throw new Exception(erro.Message);
                }
            }

            return(SQL.ToString());
        }