Пример #1
0
        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);
        }
Пример #2
0
        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");
            }
        }
Пример #3
0
        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();
                }
            }
        }
Пример #4
0
        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);
            }
        }
Пример #5
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);
        }
Пример #6
0
        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();
                }
            }
        }
Пример #7
0
        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);
            }
        }
Пример #8
0
        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);
            }
        }
Пример #9
0
        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");
            }
        }
Пример #10
0
        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);
                }
            }
        }
Пример #11
0
        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();
                }
            }
        }
Пример #12
0
        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);
            }
        }
Пример #13
0
        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);
        }
Пример #14
0
        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);
        }
Пример #15
0
        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");
                }
            }
        }