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