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(""); }
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(); } } }