Exemple #1
0
        public static TList_Cad_ParamClasse BuscaParamRDCSQLString(string SQL, TObjetoBanco banco)
        {
            TList_Cad_ParamClasse lParamRetorno = new TList_Cad_ParamClasse();
            const char            chaveInicio   = '{';
            const char            chaveFim      = '}';

            char[]   delimitadores  = new char[] { chaveInicio, chaveFim };
            String[] resultadoArray = SQL.Split(delimitadores);


            for (int i = 0; i < resultadoArray.Length; i++)
            {
                if (resultadoArray[i].IndexOf("@") == 0)
                {
                    TList_Cad_ParamClasse listaParam = TCN_Cad_ParamClasse.Buscar("", "{" + resultadoArray[i] + "}", "", 0, banco);

                    for (int x = 0; x < listaParam.Count; x++)
                    {
                        if (!lParamRetorno.Exists(p => p.NM_CampoFormat == (listaParam[x] as TRegistro_Cad_ParamClasse).NM_CampoFormat))
                        {
                            //ADD A LISTA DE RETORNO DOS PARAMETROS
                            lParamRetorno.Add(listaParam[x] as TRegistro_Cad_ParamClasse);
                        }
                    }
                }
            }

            return(lParamRetorno);
        }
Exemple #2
0
        public static TList_Cad_RDC Buscar(string vID_RDC,
                                           string vDS_RDC,
                                           string vModulo,
                                           string vNM_Classe,
                                           string vIdent,
                                           string vST_RDC,
                                           decimal vVersao,
                                           string vNM_CampoBusca,
                                           bool vBuscarDTS,
                                           bool vBuscarRelClasse,
                                           bool vNaoBuscarRelClasse,
                                           string vSistema,
                                           TObjetoBanco banco)
        {
            TpBusca[] filtro = new TpBusca[0];

            if (vID_RDC.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.ID_RDC";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vID_RDC.ToString() + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vDS_RDC.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.DS_RDC";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vDS_RDC.Replace("'", "''") + "'";
                filtro[filtro.Length - 1].vOperador = "LIKE";
            }
            if (vModulo.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Modulo";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vModulo.Replace("'", "''") + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vNM_Classe.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.NM_Classe";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vNM_Classe.Replace("'", "''") + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vST_RDC.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.ST_RDC";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vST_RDC + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vIdent.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Ident";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vIdent.Replace("'", "''") + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vVersao > 0)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Versao";
                filtro[filtro.Length - 1].vVL_Busca = "" + vVersao.ToString() + "";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vBuscarRelClasse)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.NM_Classe";
                filtro[filtro.Length - 1].vVL_Busca = "null";
                filtro[filtro.Length - 1].vOperador = "!=";
            }
            if (vNaoBuscarRelClasse)
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "isnull(a.NM_Classe,'')";
                filtro[filtro.Length - 1].vVL_Busca = "''";
                filtro[filtro.Length - 1].vOperador = "=";
            }
            if (vSistema.Trim() != "")
            {
                Array.Resize(ref filtro, filtro.Length + 1);
                filtro[filtro.Length - 1].vNM_Campo = "a.Sistema";
                filtro[filtro.Length - 1].vVL_Busca = "'" + vSistema + "'";
                filtro[filtro.Length - 1].vOperador = "=";
            }

            TCD_Cad_RDC qtb_RDC = new TCD_Cad_RDC();

            if (banco != null)
            {
                qtb_RDC.Banco_Dados = banco;
            }

            TList_Cad_RDC lRDC = qtb_RDC.Select(filtro, 0, vNM_CampoBusca);

            if (vBuscarDTS)
            {
                //BUSCA OS DATASOURCES
                foreach (TRegistro_Cad_RDC regRDC in lRDC)
                {
                    regRDC.lCad_DataSource = TCN_Cad_DataSource.Busca("", "", regRDC.ID_RDC, banco);

                    foreach (TRegistro_Cad_DataSource regDTS in regRDC.lCad_DataSource)
                    {
                        regDTS.lCad_ParamClasse = TCN_Cad_ParamClasse.BuscaParamRDCSQLString(regDTS.DS_SQL, banco);
                    }
                }
            }

            return(lRDC);
        }
Exemple #3
0
        public static string GravarRDC(TRegistro_Cad_RDC val, TObjetoBanco banco)
        {
            bool        st_transacao = false;
            TCD_Cad_RDC qtb_RDC      = new TCD_Cad_RDC();

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

                //GRAVA O REPORT
                string retorno = qtb_RDC.GravarRDC(val);

                //GRAVA TAMBÉM O DATASOURCE E AMARRA OS DOIS
                val.ID_RDC = CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_RDC");

                //EXCLUI TODOS OS RDC X DATASOURCE
                TCN_Cad_RDC_X_DataSource.DeletarRDCPorRDC(val.ID_RDC, banco);

                foreach (TRegistro_Cad_DataSource Reg_DataSource in val.lCad_DataSource)
                {
                    string Ret_DTS = TCN_Cad_DataSource.GravaDataSource(Reg_DataSource, banco);
                    Reg_DataSource.ID_DataSource = CamadaDados.TDataQuery.getPubVariavel(Ret_DTS, "@P_ID_DATASOURCE");

                    TRegistro_Cad_RDC_X_DataSource reg_rdcdts = new TRegistro_Cad_RDC_X_DataSource();
                    reg_rdcdts.ID_RDC        = val.ID_RDC;
                    reg_rdcdts.ID_DataSource = Reg_DataSource.ID_DataSource;
                    reg_rdcdts.ST_RDC        = val.ST_RDC;

                    TCN_Cad_RDC_X_DataSource.GravarRDC_X_DataSource(reg_rdcdts, banco);

                    //GRAVA OS PARAMETROS
                    foreach (TRegistro_Cad_ParamClasse Reg_Param in Reg_DataSource.lCad_ParamClasse)
                    {
                        TCN_Cad_ParamClasse.GravarParamClasse(Reg_Param, banco);
                    }
                }

                if (st_transacao)
                {
                    qtb_RDC.Banco_Dados.Commit_Tran();
                }
                return(retorno);
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_RDC.Banco_Dados.RollBack_Tran();
                }
                else
                {
                    throw new Exception(ex.Message);
                }
                return("");
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_RDC.deletarBanco_Dados();
                }
            }
        }