示例#1
0
        public static void GerarDocumentoProc(string caminhoArquivo, ProcedureInfoModel procInfo)
        {
            string        arquivoXML = caminhoArquivo;
            XmlTextWriter xmlWriter  = new XmlTextWriter(arquivoXML, Encoding.UTF8);

            GerarCabecalhoDocumento(xmlWriter);
            AdicionarEstilos(xmlWriter);

            GerarConteudoDocumentoProcedure(xmlWriter, procInfo);

            FinalizarArquivo(xmlWriter);
        }
示例#2
0
 public static void GerarDocumentoProcedures(ProcedureInfoModel procInfo)
 {
     try
     {
         SaveFileDialog saveFileDialog = new SaveFileDialog();
         saveFileDialog.Filter   = "Planilha Excel xml|*.xml";
         saveFileDialog.Title    = "Salvar Excel xml";
         saveFileDialog.FileName = procInfo.nomeProcedure;
         saveFileDialog.ShowDialog();
         if (saveFileDialog.FileName != "")
         {
             DAO.GeradorDocumentos.GerarDocumentoProc(saveFileDialog.FileName, procInfo);
             MessageBox.Show("Documento gerado com sucesso");
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show("Erro ao gerar arquivo: " + ex.Message);
     }
 }
示例#3
0
        internal static void DetalhaProcedure(ProcedureInfoModel procInfo, string nomeProcedure)
        {
            procInfo.nomeProcedure = nomeProcedure;

            XMLModel.ListaDescricoesModel    lsDescricoes         = DAO.DescricaoXMLDAO.Ler();
            XMLModel.DescricaoProcedureModel procedureDescription = (from ts in lsDescricoes.listaDescricaoProcedure
                                                                     where String.Equals(ts.NomeProcedure, nomeProcedure, StringComparison.OrdinalIgnoreCase)
                                                                     select ts).DefaultIfEmpty().First();
            if (procedureDescription != null)
            {
                procInfo.descricaoProcedure = procedureDescription.Descricao;
            }
            else
            {
                procInfo.descricaoProcedure = "";
            }

            procInfo.dtPermissoes = DAO.ProceduresInfoSQLDao.ListaGrantProcedures(procInfo.nomeProcedure);
            procInfo.dtParam      = DAO.ProceduresInfoSQLDao.ListaDestalhesProcedures(procInfo.nomeProcedure);
        }
示例#4
0
        private void Detalha()
        {
            if (lstProcedure.SelectedItems.Count == 1)
            {
                procInfo = new ProcedureInfoModel();
                ProceduresInfoService.DetalhaProcedure(procInfo, lstProcedure.SelectedValue.ToString());

                txtDesProcedure.Text = procInfo.descricaoProcedure;
                gbProcedure.Text     = procInfo.nomeProcedure;

                procInfo.dtParam = ProceduresInfoService.ListaDestalhesParametros(lstProcedure.SelectedValue.ToString());
                bsDetalhesParametros.DataSource = procInfo.dtParam;

                bsGrant.DataSource = procInfo.dtPermissoes;
                txtBuscaDetalheProc.ADDRecursos(gdvGrant, bsGrant);
                txtBuscaDetalheProc.ADDRecursos(gdvDetalheParametros, bsDetalhesParametros);
                txtBuscaDetalheProc.filtro.Add("PARAMETER_NAME");
                txtBuscaDetalheProc.filtro.Add("DESCRIPTION");
                txtBuscaDetalheProc.filtro.Add("TYPE");
            }
        }
示例#5
0
        private static void GerarConteudoDocumentoProcedure(XmlTextWriter xmlWriter, ProcedureInfoModel procInfo)
        {
            //Planilha
            xmlWriter.WriteStartElement("Worksheet");
            xmlWriter.WriteAttributeString("ss:Name", "Procedures");
            //Tabela
            xmlWriter.WriteStartElement("Table");
            xmlWriter.WriteAttributeString("ss:DefaultRowHeight", "15");
            //Cabeçalho tabelas
            xmlWriter.WriteStartElement("Column");
            xmlWriter.WriteAttributeString("ss:Width", "196.38");
            xmlWriter.WriteEndElement();//Column
            xmlWriter.WriteStartElement("Column");
            xmlWriter.WriteAttributeString("ss:Width", "106.23");
            xmlWriter.WriteEndElement();//Column
            xmlWriter.WriteStartElement("Column");
            xmlWriter.WriteAttributeString("ss:Width", "63.11");
            xmlWriter.WriteEndElement();//Column
            xmlWriter.WriteStartElement("Column");
            xmlWriter.WriteAttributeString("ss:Width", "92.38");
            xmlWriter.WriteEndElement();//Column

            //Linha cabeçalho procedures
            xmlWriter.WriteStartElement("Row");

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.colunaNomeProc);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteAttributeString("ss:MergeAcross", "2");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.colunaDescProc);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteEndElement(); //Row

            //Linha nome procedure e descrição procedure
            xmlWriter.WriteStartElement("Row");

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
            //Conta a quantidade de parâmetros existem na procedure e faz o merge
            xmlWriter.WriteAttributeString("ss:MergeDown", (1 + procInfo.dtParam.Rows.Count).ToString());
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(procInfo.nomeProcedure);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
            xmlWriter.WriteAttributeString("ss:MergeAcross", "2");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(procInfo.descricaoProcedure);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteEndElement(); //Row

            //Cabeçalho parâmetros
            xmlWriter.WriteStartElement("Row");

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteAttributeString("ss:Index", "2");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.colunaParam);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteAttributeString("ss:Index", "3");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.colunaParamType);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteAttributeString("ss:Index", "4");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.descricao);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteEndElement(); //Row

            //Lista de parâmetros
            foreach (DataRow row in procInfo.dtParam.Rows)
            {
                //Linha de descrição de parâmetros
                xmlWriter.WriteStartElement("Row");

                xmlWriter.WriteStartElement("Cell");
                xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                xmlWriter.WriteAttributeString("ss:Index", "2");
                xmlWriter.WriteStartElement("Data");
                xmlWriter.WriteAttributeString("ss:Type", "String");
                xmlWriter.WriteRaw(row["PARAMETER_NAME"].ToString());
                xmlWriter.WriteEndElement(); //Data
                xmlWriter.WriteEndElement(); //Cell

                xmlWriter.WriteStartElement("Cell");
                xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                xmlWriter.WriteAttributeString("ss:Index", "3");
                xmlWriter.WriteStartElement("Data");
                xmlWriter.WriteAttributeString("ss:Type", "String");
                xmlWriter.WriteRaw(row["TYPE"].ToString());
                xmlWriter.WriteEndElement(); //Data
                xmlWriter.WriteEndElement(); //Cell

                xmlWriter.WriteStartElement("Cell");
                xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                xmlWriter.WriteAttributeString("ss:Index", "4");
                xmlWriter.WriteStartElement("Data");
                xmlWriter.WriteAttributeString("ss:Type", "String");
                xmlWriter.WriteRaw(row["DESCRIPTION"].ToString());
                xmlWriter.WriteEndElement(); //Data
                xmlWriter.WriteEndElement(); //Cell

                xmlWriter.WriteEndElement(); //Row
            }

            //Linha Grant
            xmlWriter.WriteStartElement("Row");

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.grant);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteStartElement("Cell");
            xmlWriter.WriteAttributeString("ss:StyleID", "Titulo");
            xmlWriter.WriteAttributeString("ss:MergeAcross", "2");
            xmlWriter.WriteStartElement("Data");
            xmlWriter.WriteAttributeString("ss:Type", "String");
            xmlWriter.WriteRaw(Global.permissao);
            xmlWriter.WriteEndElement(); //Data
            xmlWriter.WriteEndElement(); //Cell

            xmlWriter.WriteEndElement(); //Row


            //Se não houber nenhuma grant na lista irá gerar uma linha em branco na tabela
            if (procInfo.dtPermissoes.Rows.Count < 1)
            {
                xmlWriter.WriteStartElement("Row");

                xmlWriter.WriteStartElement("Cell");
                xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                xmlWriter.WriteStartElement("Data");
                xmlWriter.WriteAttributeString("ss:Type", "String");
                xmlWriter.WriteEndElement(); //Data
                xmlWriter.WriteEndElement(); //Cell

                xmlWriter.WriteStartElement("Cell");
                xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                xmlWriter.WriteAttributeString("ss:MergeAcross", "2");
                xmlWriter.WriteStartElement("Data");
                xmlWriter.WriteAttributeString("ss:Type", "String");
                xmlWriter.WriteEndElement(); //Data
                xmlWriter.WriteEndElement(); //Cell

                xmlWriter.WriteEndElement(); //Row
            }
            else
            {
                //Linha lista grants
                foreach (DataRow row in procInfo.dtPermissoes.Rows)
                {
                    xmlWriter.WriteStartElement("Row");

                    xmlWriter.WriteStartElement("Cell");
                    xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                    xmlWriter.WriteStartElement("Data");
                    xmlWriter.WriteAttributeString("ss:Type", "String");
                    xmlWriter.WriteRaw(row["PRINCIPAL_NAME"].ToString());
                    xmlWriter.WriteEndElement(); //Data
                    xmlWriter.WriteEndElement(); //Cell

                    xmlWriter.WriteStartElement("Cell");
                    xmlWriter.WriteAttributeString("ss:StyleID", "Conteudo");
                    xmlWriter.WriteAttributeString("ss:MergeAcross", "2");
                    xmlWriter.WriteStartElement("Data");
                    xmlWriter.WriteAttributeString("ss:Type", "String");
                    xmlWriter.WriteRaw(row["PERMISSION_NAME"].ToString());
                    xmlWriter.WriteEndElement(); //Data
                    xmlWriter.WriteEndElement(); //Cell

                    xmlWriter.WriteEndElement(); //Row
                }
                xmlWriter.WriteEndElement();     //Table
                xmlWriter.WriteEndElement();     //Worksheet
            }
        }