57 lines
2.1 KiB
C#
57 lines
2.1 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.IO;
|
|
|
|
namespace ServerExplorer
|
|
{
|
|
public class DocGen
|
|
{
|
|
public static void GenerarDocumentacion(Config config, DatabaseDesc database)
|
|
{
|
|
// Asegura la existencia de los directorios destinos
|
|
if (!System.IO.Directory.Exists(config.PathRaiz)) { Utiles.CrearDirectorio(config.PathRaiz); }
|
|
if (!System.IO.Directory.Exists(config.PathDTO)) { Utiles.CrearDirectorio(config.PathDTO); }
|
|
if (!System.IO.Directory.Exists(config.PathDAL)) { Utiles.CrearDirectorio(config.PathDAL); }
|
|
if (!System.IO.Directory.Exists(config.PathExtra)) { Utiles.CrearDirectorio(config.PathExtra); }
|
|
|
|
|
|
// Abrir el documento que contendra la documentacion
|
|
StreamWriter escritor=new StreamWriter(config.PathExtra+"/documentacion.html");
|
|
|
|
|
|
// Poner cabecera de la documentacion
|
|
escritor.WriteLine("<html><head><title>" + database.Nombre + "</title></head>");
|
|
escritor.WriteLine("<body>");
|
|
|
|
// Iterar cada tabla
|
|
foreach (TablaDesc t in database.Tablas)
|
|
{
|
|
// Cabecera de la info de tabla
|
|
escritor.WriteLine("<h2>"+t.Esquema+"."+t.Nombre+"</h2>");
|
|
|
|
// Iterar las columnas
|
|
escritor.WriteLine("<table>");
|
|
escritor.WriteLine("<thead><tr><th>Nombre</th><th>Tipo</th><th>Tamaño</th><th>Primaria</th></tr></thead>");
|
|
escritor.WriteLine("<tbody>");
|
|
foreach (ColumnaDesc c in t.Columnas)
|
|
{
|
|
escritor.WriteLine("<tr><td>" +
|
|
c.Nombre + "</td><td>" +
|
|
c.Tipo + "</td><td>" +
|
|
c.Tamanho + "</td><td>" +
|
|
c.Primaria + "</td></tr>");
|
|
}
|
|
escritor.WriteLine("</tbody></table>");
|
|
}
|
|
|
|
|
|
// Poner pie y cerrar fichero
|
|
escritor.WriteLine("</body></html>");
|
|
escritor.Close();
|
|
|
|
}
|
|
}
|
|
}
|