示例#1
0
        public void Editar()
        {
            try
            {
                //CHAMA A CLASSE Q DEFINE O MODELO DO RELATORIO
                string modeloRelatorio = DefineDesigner();

                //GRAVA O REPORT
                if ((modeloRelatorio != "") && (!Homologacao))
                {
                    bool gravarRelatorio = false;
                    bool verificar       = false;

                    if (Cad_Report.Code_Report == null)
                    {
                        verificar = true;
                    }
                    else
                    if (System.Text.ASCIIEncoding.UTF8.GetString(Utils.Compact_Data.Descompactar(Cad_Report.Code_Report, string.Empty)) != modeloRelatorio)
                    {
                        verificar = true;
                    }

                    //VERIFICA SE FOR MASTER
                    if (verificar)
                    {
                        //GRAVA O REPORT JÁ
                        if (CamadaNegocio.Diversos.TCN_Usuario_RegraEspecial.ValidaRegra(Utils.Parametros.pubLogin, "PERMITIR ALTERAR RELATÓRIO", null))
                        {
                            gravarRelatorio = true;
                        }
                        else
                        {
                            if (MessageBox.Show("Deseja realmente salvar a alteração neste relatório?\nAtenção, ao salvar a alteração PERDERÁ o suporte de versão deste relatório!", "Mensagem",
                                                MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) ==
                                System.Windows.Forms.DialogResult.Yes)
                            {
                                Cad_Report.ID_RDC = "";
                                gravarRelatorio   = true;
                            }
                            else
                            {
                                gravarRelatorio = false;
                            }
                        }

                        //GRAVA O REPORT
                        if (gravarRelatorio)
                        {
                            if (Cad_Report.DS_Report != "")
                            {
                                if (Cad_Report.Versao == 0)
                                {
                                    Cad_Report.Versao = 1;
                                }

                                Cad_Report.Code_Report = Utils.Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(modeloRelatorio));
                                string ret_report = TCN_Cad_Report.GravarReport(Cad_Report, null);
                                Cad_Report.ID_Report = Convert.ToDecimal(CamadaDados.TDataQuery.getPubVariavel(ret_report, "@P_ID_REPORT"));
                            }
                        }

                        if ((Utils.Parametros.pubLogin == "MASTER") || (Utils.Parametros.pubLogin == "DESENV"))
                        {
                            if (MessageBox.Show("Deseja publicar esta versão?\nAtenção, ao publicar a versão já será homologada automaticamente!", "Mensagem",
                                                MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.Yes)
                            {
                                Cad_Report.Versao++;
                                Cad_Report.lConsulta = TCN_Cad_Consulta.Busca(decimal.Zero,
                                                                              string.Empty,
                                                                              string.Empty,
                                                                              Cad_Report.ID_Report);
                                AtualizarRDC.GravarRDC(Cad_Report, null, "P");
                            }
                        }
                    }
                }
                else
                {
                    Cad_Report.Code_Report = Compact_Data.Compactar(System.Text.ASCIIEncoding.UTF8.GetBytes(modeloRelatorio));
                }
            }
            catch (Exception erro)
            {
                MessageBox.Show(erro.Message, "Mensagem");
            }
        }