예제 #1
0
        public static string DeletarRDC(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;
                }
                //Deleta o menu
                new CamadaDados.TDataQuery(banco).executarSql("DELETE TB_DIV_Acesso " +
                                                              "FROM TB_DIV_Acesso a " +
                                                              "JOIN TB_DIV_Menu b ON a.id_menu = b.id_menu " +
                                                              "WHERE b.id_report = " + val.ID_RDC, null);

                new CamadaDados.TDataQuery(banco).executarSql("DELETE TB_DIV_Menu " +
                                                              "WHERE id_report = " + val.ID_RDC, null);

                //Deletar RDC
                qtb_RDC.DeletarRDC(val);
                if (st_transacao)
                {
                    qtb_RDC.Banco_Dados.Commit_Tran();
                }
                return("OK");
            }
            catch (Exception ex)
            {
                if (st_transacao)
                {
                    qtb_RDC.Banco_Dados.RollBack_Tran();
                    throw new Exception(ex.Message);
                }
            }
            finally
            {
                if (st_transacao)
                {
                    qtb_RDC.deletarBanco_Dados();
                }
            }
            return("");
        }
예제 #2
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();
                }
            }
        }