public bool BuscaRelatorio() { //BUSCA O CAD REPORT SE NÃO TIVER if ((!string.IsNullOrEmpty(Cad_Report.NM_Classe)) || (!string.IsNullOrEmpty(Cad_Report.ID_RDC))) { TList_Cad_Report lista = TCN_Cad_Report.Buscar(0, string.Empty, Cad_Report.Modulo, Cad_Report.NM_Classe, Cad_Report.Ident, 0, Cad_Report.ID_RDC, false, false, false); if (lista.Count > 0) { Cad_Report = lista[0]; return(true); } return(false); } return(false); }
private void BB_Relatorio_Click(object sender, EventArgs e) { try { if (BS_Homologacao.Current != null) { CamadaDados.WS_RDC.TRegistro_Cad_RDC lista = ServiceRest.DataService.BuscarDetalhesRDC((BS_Homologacao.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).ID_RDC); if (lista != null) { (BS_Homologacao.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).Code_Report = lista.Code_Report; BS_Homologacao.ResetCurrentItem(); TRegistro_Cad_Report Cad_Report = AtualizarRDC.ConvertRDCparaReport(lista); Query_Report relatorio = new Query_Report(); relatorio.Homologacao = true; relatorio.MontaFormRelatorio(Cad_Report, null); if ((BS_Homologacao.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).Code_Report != relatorio.Cad_Report.Code_Report) { (BS_Homologacao.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).Code_Report = relatorio.Cad_Report.Code_Report; Edit = true; } } } else { MessageBox.Show("Atenção é necessário selecionar um RDC!", "Mensagem"); } } catch (Exception erro) { MessageBox.Show(erro.Message, "Mensagem"); } }
public static string DeletarReport(TRegistro_Cad_Report val, TObjetoBanco banco) { bool st_transacao = false; TCD_Cad_Report qtb_Report = new TCD_Cad_Report(); try { if (banco == null) { st_transacao = qtb_Report.CriarBanco_Dados(true); } else { qtb_Report.Banco_Dados = banco; } //Deleta o menu new CamadaDados.TDataQuery(qtb_Report.Banco_Dados).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_Report, null); new CamadaDados.TDataQuery(qtb_Report.Banco_Dados).executarSql("DELETE TB_DIV_Menu " + "WHERE id_report = " + val.ID_Report, null); new CamadaDados.TDataQuery(qtb_Report.Banco_Dados).executarSql("DELETE TB_CON_Report_X_Consulta " + "WHERE id_report = " + val.ID_Report, null); //Deletar Report qtb_Report.DeletarReport(val); if (st_transacao) { qtb_Report.Banco_Dados.Commit_Tran(); } return("OK"); } catch (Exception ex) { if (st_transacao) { qtb_Report.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro excluir relatorio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_Report.deletarBanco_Dados(); } } }
public static void AtualizarVersaoRDC(TRegistro_Cad_Report Reg_Report) { TRegistro_Cad_RDC Reg_RDC = ServiceRest.DataService.BuscarRDCAtualizar(Reg_Report); if (Reg_RDC != null) { decimal id_report = Reg_Report.ID_Report; Reg_Report = ConvertRDCparaReport(Reg_RDC); if (Reg_Report.ID_Report == 0) { Reg_Report.ID_Report = id_report; } //GRAVA O REPORT TCN_Cad_Report.GravarReportConsulta(Reg_Report, null); } }
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); }
public static string GravarReport(TRegistro_Cad_Report val, TObjetoBanco banco) { bool st_transacao = false; TCD_Cad_Report qtb_Report = new TCD_Cad_Report(); try { if (banco == null) { st_transacao = qtb_Report.CriarBanco_Dados(true); } else { qtb_Report.Banco_Dados = banco; } //GRAVA O REPORT string retorno = qtb_Report.GravarReport(val); if (st_transacao) { qtb_Report.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_Report.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar relatorio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_Report.deletarBanco_Dados(); } } }
public static decimal VerificarVersaoRDC(TRegistro_Cad_Report Reg_Report) { HttpClient cliente = new HttpClient(); cliente.BaseAddress = new Uri(Parametros.WS_ServidorHelpDesk); cliente.Timeout = new TimeSpan(0, 3, 0); HttpResponseMessage response = cliente.GetAsync("api/HelpDesk/VerificarVersaoRDC?ID_RDC=" + Reg_Report.ID_RDC.Replace("-", "IFEM") + "&NM_Classe=" + Reg_Report.NM_Classe + "&Modulo=" + Reg_Report.Modulo + "&Ident=" + Reg_Report.Ident + "&ST_RDC=P").Result; if (response.IsSuccessStatusCode) { return(decimal.Parse(response.Content.ReadAsStringAsync().Result.SoNumero())); } else { return(decimal.Zero); } }
public static TRegistro_Cad_RDC BuscarRDCAtualizar(TRegistro_Cad_Report Reg_Report) { HttpClient client = new HttpClient(); client.BaseAddress = new Uri(Parametros.WS_ServidorHelpDesk); client.Timeout = new TimeSpan(0, 3, 0); HttpResponseMessage response = client.GetAsync("api/HelpDesk/DownloadRDC?ID_RDC=" + Reg_Report.ID_RDC.Replace("-", "IFEM") + "&NM_Classe=" + Reg_Report.NM_Classe + "&Modulo=" + Reg_Report.Modulo + "&Ident=" + Reg_Report.Ident + "&ST_RDC=P").Result; if (response.IsSuccessStatusCode) { Task <string> ts = response.Content.ReadAsStringAsync(); return(JsonConvert.DeserializeObject <TRegistro_Cad_RDC>(ts.Result)); } else { return(null); } }
private void BB_Relatorio_Click(object sender, EventArgs e) { if (BS_Download.Current != null) { CamadaDados.WS_RDC.TRegistro_Cad_RDC lista = ServiceRest.DataService.BuscarDetalhesRDC((BS_Download.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).ID_RDC); if (lista != null) { (BS_Download.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).Code_Report = lista.Code_Report; BS_Download.ResetCurrentItem(); //o rel já esta cadastrado diretamente TRegistro_Cad_Report Cad_Report = FormRelPadrao.AtualizarRDC.ConvertRDCparaReport(lista); Query_Report relatorio = new Query_Report(); relatorio.Homologacao = true; relatorio.MontaFormRelatorio(Cad_Report, null); } } else { MessageBox.Show("Atenção é necessário selecionar um RDC!", "Mensagem"); } }
public static bool VerificarVersaoRDC(TRegistro_Cad_Report Reg_Report, bool MostrarMSG) { decimal versao = ServiceRest.DataService.VerificarVersaoRDC(Reg_Report); if (versao > Reg_Report.Versao) { if (Reg_Report.Versao > 0) { if (MessageBox.Show("A versão " + versao + ".0 do relatório " + Reg_Report.DS_Report + " esta disponível, deseja atualizá-lo?", "Mensagem", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes) { AtualizarVersaoRDC(Reg_Report); return(true); } else { return(false); } } else { AtualizarVersaoRDC(Reg_Report); return(true); } } else { if (MostrarMSG) { throw new Exception("Não existe atualizações para este relatório!"); } else { return(false); } } }
public static string GravarReportConsulta(TRegistro_Cad_Report val, TObjetoBanco banco) { bool st_transacao = false; TCD_Cad_Report qtb_Report = new TCD_Cad_Report(); try { if (banco == null) { st_transacao = qtb_Report.CriarBanco_Dados(true); } else { qtb_Report.Banco_Dados = banco; } //GRAVA O REPORT string retorno = qtb_Report.GravarReport(val); val.ID_Report = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_REPORT")); //DELETA AS ANTIGAS AMARRAÇÕES new CamadaDados.TDataQuery(qtb_Report.Banco_Dados).executarSql("DELETE TB_CON_Report_X_Consulta " + "WHERE id_report = " + val.ID_Report, null); new CamadaDados.TDataQuery(qtb_Report.Banco_Dados).executarSql("UPDATE TB_DIV_MENU set DS_Menu = '" + val.DS_Report + "' " + "WHERE id_report = " + val.ID_Report, null); //GRAVA OS DTS val.lConsulta.ForEach(p => { p.Login = Utils.Parametros.pubLogin; string ret_cons = TCN_Cad_Consulta.GravaConsulta(p, qtb_Report.Banco_Dados); TCN_Cad_Report_X_Consulta.GravarReport_X_Consulta( new TRegistro_Cad_Report_X_Consulta() { ID_Report = val.ID_Report, ID_Consulta = CamadaDados.TDataQuery.getPubVariavel(ret_cons, "@P_ID_CONSULTA") }, qtb_Report.Banco_Dados); p.lParamClasse.ForEach(v => TCN_Cad_ParamClasse.GravarParamClasse(v, qtb_Report.Banco_Dados)); }); if (st_transacao) { qtb_Report.Banco_Dados.Commit_Tran(); } return(retorno); } catch (Exception ex) { if (st_transacao) { qtb_Report.Banco_Dados.RollBack_Tran(); } throw new Exception("Erro gravar relatorio: " + ex.Message.Trim()); } finally { if (st_transacao) { qtb_Report.deletarBanco_Dados(); } } }
public static void GravarRDC(TRegistro_Cad_Report Reg_Report, CamadaDados.WS_RDC.TList_Cad_ParamClasse lCad_Param, string ST_RDC) { //CARREGA O OBJECT DO WS TRegistro_Cad_RDC Reg_RDC = new TRegistro_Cad_RDC(); Reg_RDC.ID_RDC = Reg_Report.ID_RDC; Reg_RDC.Modulo = Reg_Report.Modulo; Reg_RDC.Ident = Reg_Report.Ident; Reg_RDC.NM_Classe = Reg_Report.NM_Classe; Reg_RDC.Versao = Reg_Report.Versao; Reg_RDC.Code_Report = Reg_Report.Code_Report; Reg_RDC.ST_RDC = ST_RDC; Reg_RDC.DS_RDC = Reg_Report.DS_Report; //A LISTA DE DTS TList_Cad_DataSource lDTS = new TList_Cad_DataSource(); if (Reg_Report.lConsulta != null) { foreach (TRegistro_Cad_Consulta reg_Consulta in Reg_Report.lConsulta) { TRegistro_Cad_DataSource Reg_DTS = new TRegistro_Cad_DataSource(); Reg_DTS.DS_DataSource = reg_Consulta.DS_Consulta; Reg_DTS.DS_SQL = reg_Consulta.DS_SQL; Reg_DTS.ID_DataSource = reg_Consulta.ID_Consulta; CamadaDados.Consulta.Cadastro.TList_Cad_ParamClasse listParam = TCN_Cad_ParamClasse.BuscaParamClasseSQLString(Reg_DTS.DS_SQL); //CARREGA A LISTA DE PARAMETROS CamadaDados.WS_RDC.TList_Cad_ParamClasse lReg_ParamRDCL = new CamadaDados.WS_RDC.TList_Cad_ParamClasse(); if (listParam != null) { foreach (CamadaDados.Consulta.Cadastro.TRegistro_Cad_ParamClasse reg_Param in listParam) { CamadaDados.WS_RDC.TRegistro_Cad_ParamClasse RegParamRDC = new CamadaDados.WS_RDC.TRegistro_Cad_ParamClasse(); RegParamRDC.CodigoCMP = reg_Param.CodigoCMP; RegParamRDC.CondicaoBusca = reg_Param.CondicaoBusca; RegParamRDC.NM_CampoFormat = reg_Param.NM_CampoFormat; RegParamRDC.NM_Classe = reg_Param.NM_Classe; RegParamRDC.NM_DLL = reg_Param.NM_DLL; RegParamRDC.NM_Param = reg_Param.NM_Param; RegParamRDC.NomeCMP = reg_Param.NomeCMP; RegParamRDC.RadioCheckGroup = reg_Param.RadioCheckGroup; RegParamRDC.St_Null = reg_Param.St_Null; RegParamRDC.St_Obrigatorio = reg_Param.St_Obrigatorio; RegParamRDC.TP_Dado = reg_Param.TP_Dado; lReg_ParamRDCL.Add(RegParamRDC); } } Reg_DTS.lCad_ParamClasse = lReg_ParamRDCL; lDTS.Add(Reg_DTS); } } //ADD A LISTA DO REGISTRO Reg_RDC.lCad_DataSource = lDTS; //GRAVA E FECHA A CONEXÃO COM O WS string result = ServiceRest.DataService.GravarRDC(Reg_RDC); try { if (result.Replace("\"", string.Empty).Substring(0, 1).Equals("0")) { Reg_Report.ID_RDC = result.Replace("\"", string.Empty).Split(new char[] { '|' })[1]; Reg_Report.Versao += 1; TCN_Cad_Report.GravarReport(Reg_Report, null); throw new Exception("Relatório publicado com sucesso!"); } else { throw new Exception(result); } } catch (Exception erro) { throw new Exception(erro.Message); } }
public bool Gera_DataCube(string Documento, bool St_imprimir, bool St_visualizar, bool St_enviaremail, List <string> Destinatarios, string Titulo, string Mensagem) { bool retorno = false; TFPreviewDataCube fDataCube = new TFPreviewDataCube(); fDataCube.Text = Cad_Report.DS_Report; //AQUI A CLASSE PARA VISUALIZAçÂO DO GRAFICO //BUSCA O CAD REPORT SE NÃO TIVER if ((Cad_Report.ID_Report == 0) && (NM_Classe != "")) { TList_Cad_Report lista = TCN_Cad_Report.Buscar(0, string.Empty, Modulo, NM_Classe, Ident, 0, string.Empty, false, false, false); if (lista.Count > 0) { Cad_Report = lista[0]; } } XmlDocument docXMLRelatorio = new XmlDocument(); fDataCube.bsCubo.DataSource = DTS_CuboDados; if (Cad_Report.Code_DataCube != null) { docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Utils.Compact_Data.Descompactar(Cad_Report.Code_DataCube, string.Empty))); fDataCube.dataCube.Layout = docXMLRelatorio.InnerXml; } //ADD O LAYOUT fDataCube.dcGrid.RefreshDataCubeGrid(); try { fDataCube.dataCube.Recalculate(); } catch { } if (Cad_Report.Code_DataCube != null) { if (Altera_CuboDados == false) { fDataCube.dcGrid.ShowOpen = false; fDataCube.dcGrid.ShowSave = false; fDataCube.dcGrid.ShowWizard = true; if (St_imprimir) { fDataCube.dcGrid.PrintPreview(); } else if (St_visualizar) { fDataCube.WindowState = FormWindowState.Maximized; fDataCube.ShowDialog(); retorno = true; } } else { //CHAMA A CLASSE Q DEFINE O MODELO DO RELATORIO string modeloRelatorio = DefineDesigner(fDataCube); if (modeloRelatorio != "") { Cad_Report.Code_DataCube = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(modeloRelatorio)); } //GRAVA O REPORT if ((Cad_Report.DS_Report) != "" && (!Homologacao)) { TCN_Cad_Report.GravarReport(Cad_Report, null); } } } else { //VERIFICA SE JÁ TEM O ITEM LANÇADO if (Cad_Report.ID_Report == 0) { Cad_Report.Modulo = Modulo; Cad_Report.NM_Classe = NM_Classe; Cad_Report.DS_Report = NM_Classe; Cad_Report.Ident = Ident; Cad_Report.Versao = 1; //CHAMA A CLASSE Q DEFINE O MODELO DO RELATORIO string modeloRelatorio = DefineDesigner(fDataCube); if (modeloRelatorio != "") { Cad_Report.Code_DataCube = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(modeloRelatorio)); } //GRAVA O REPORT if ((Cad_Report.DS_Report) != "" && (!Homologacao)) { TCN_Cad_Report.GravarReport(Cad_Report, null); } } else { Cad_Report.Code_DataCube = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(DefineDesigner(fDataCube))); } } return(retorno); }
public bool Gera_Grafico(string Documento, bool St_imprimir, bool St_visualizar, bool St_enviaremail, List <string> Destinatarios, string Titulo, string Mensagem) { bool retorno = false; //AQUI A CLASSE PARA VISUALIZAçÂO DO GRAFICO //BUSCA O CAD REPORT SE NÃO TIVER if ((Cad_Report.ID_Report == 0) && (NM_Classe != "")) { TList_Cad_Report lista = TCN_Cad_Report.Buscar(0, string.Empty, Modulo, NM_Classe, Ident, 0, string.Empty, false, false, false); if (lista.Count > 0) { Cad_Report = lista[0]; } } ChartViewer.DataSources.Add(new ChartDataSource(DTS_Grafico, "DTS")); XmlDocument docXMLRelatorio = new XmlDocument(); if (Cad_Report.Code_Chart != null) { docXMLRelatorio.LoadXml(System.Text.ASCIIEncoding.UTF8.GetString(Utils.Compact_Data.Descompactar(Cad_Report.Code_Chart, string.Empty))); } if (Cad_Report.Code_Chart != null) { if (Altera_Grafico == false) { TFPreviewChart fChart = new TFPreviewChart(); fChart.Text = Cad_Report.DS_Report; fChart.chartViewer.ChartStream = docXMLRelatorio.InnerXml; fChart.chartViewer.DataSources.Add(new ChartDataSource(DTS_Grafico, "DTS")); fChart.chartViewer.ShowNew = false; fChart.chartViewer.ShowSave = false; fChart.chartViewer.ShowDesigner = false; fChart.chartViewer.ResumeLayout(true); if (St_imprimir) { fChart.chartViewer.PrintDialog(); } else if (St_visualizar) { fChart.WindowState = FormWindowState.Maximized; fChart.ShowDialog(); retorno = true; } } else { //ADICIONA O STREAM DO RELATORIO (XML) ChartViewer.ChartStream = docXMLRelatorio.InnerXml; //DEFINE O DESIGNER ChartViewer.RunDesigner(); //BUSCA OS DADOS DO DESIGNER EM XML +E GRAVA EM BINARY if (ChartViewer.ChartStream != "") { docXMLRelatorio.LoadXml(ChartViewer.ChartStream); //INCREMENTA NOVAMENTE OS DADOS Cad_Report.Code_Chart = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(docXMLRelatorio.InnerXml)); //grava o report if ((Cad_Report.DS_Report) != "" && (!Homologacao)) { TCN_Cad_Report.GravarReport(Cad_Report, null); } } } } else { //VERIFICA SE JÁ TEM O ITEM LANÇADO if (Cad_Report.ID_Report == 0) { Cad_Report.Modulo = Modulo; Cad_Report.NM_Classe = NM_Classe; Cad_Report.DS_Report = NM_Classe; Cad_Report.Ident = Ident; Cad_Report.Versao = 1; //CHAMA A CLASSE Q DEFINE O MODELO DO RELATORIO string modeloRelatorio = DefineDesigner(null); if (modeloRelatorio != "") { Cad_Report.Code_Chart = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(modeloRelatorio)); } //GRAVA O REPORT if ((Cad_Report.DS_Report) != "" && (!Homologacao)) { TCN_Cad_Report.GravarReport(Cad_Report, null); } } else { Cad_Report.Code_Chart = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(DefineDesigner(ChartViewer))); } } return(retorno); }
private void BB_Download_Click(object sender, EventArgs e) { if (BS_Download.Current != null) { try { object obj = new TCD_Cad_Report().BuscarEscalar( new TpBusca[] { new TpBusca() { vNM_Campo = "a.ID_RDC", vOperador = "=", vVL_Busca = "'" + (BS_Download.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).ID_RDC + "'" } }, "1"); if (obj != null) { if (obj.ToString().Trim().ToUpper().Equals("1")) { throw new Exception("Atenção, este relatório já esta cadastrado!"); } } //FAZ O DOWNLOAD DO MESMO RELATORIO TCD_Cad_Report qtb_Report = new TCD_Cad_Report(); try { qtb_Report.CriarBanco_Dados(true); TObjetoBanco banco = qtb_Report.Banco_Dados; //BUSCA O RELATORIO SELECIONADO CamadaDados.WS_RDC.TRegistro_Cad_RDC lista = ServiceRest.DataService.BuscarDetalhesRDC((BS_Download.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).ID_RDC); if (lista != null) { (BS_Download.Current as CamadaDados.WS_RDC.TRegistro_Cad_RDC).Code_Report = lista.Code_Report; BS_Download.ResetCurrentItem(); } else { throw new Exception("Atenção, houve erro ao fazer o download do relatório, por favor tente novamente!"); } //o rel já esta cadastrado diretamente TRegistro_Cad_Report Cad_Report = FormRelPadrao.AtualizarRDC.ConvertRDCparaReport(lista); //GRAVA O RELATORIO string retorno = TCN_Cad_Report.GravarReportConsulta(Cad_Report, banco); Cad_Report.ID_Report = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(retorno, "@P_ID_REPORT")); //GRAVA O MENU TFEscolha_Menu fMenu = new TFEscolha_Menu(); fMenu.Cad_Report = Cad_Report; fMenu.banco = banco; if (fMenu.ShowDialog() == DialogResult.OK) { string retornomenu = TCN_Cad_Report.GravarReportXMenu(Cad_Report, fMenu.Reg_CadMenu, banco); //GRAVA ACESSO PARA O USUARIO TRegistro_CadAcesso regAcesso = new TRegistro_CadAcesso(); regAcesso.Id_menu = fMenu.Reg_CadMenu.id_menu; regAcesso.Login = Parametros.pubLogin; TCN_CadAcesso.GravarAcesso(regAcesso, banco); } else { throw new Exception("Atenção, é necessário informar o menu!"); } qtb_Report.Banco_Dados.Commit_Tran(); //CARREGA NOVAMENTE O MENU Type t = Application.OpenForms["FMenuPrin"].GetType(); t.GetMethod("CarregaMenu").Invoke(Application.OpenForms["FMenuPrin"], new object[] { "MASTER", true }); } catch (Exception ex) { qtb_Report.Banco_Dados.RollBack_Tran(); throw new Exception(ex.Message); } finally { qtb_Report.deletarBanco_Dados(); } } catch (Exception erro) { MessageBox.Show(erro.Message, "Mensagem"); } } }