public StringBuilder generarCodigo(IXBRLTupleDef tupla) { StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder(); generarCodigoClase(tupla, nombreClase, codigo, true); escribirFicheroCodigo(codigo, nombreClase); return(nombreClase); }
public StringBuilder generarClase(IXBRLTupleDef tupla) { StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder(); generarCodigoClase(tupla, nombreClase, codigo, false); compilarClase(codigo, nombreClase); return(nombreClase); }
private void generarCodigoClase(IXBRLTupleDef tupla, StringBuilder nombreClase, StringBuilder codigo, bool generarMetodosEstaticos) { _tupla = tupla; nombreClase = new StringBuilder(obtenerNombreClaseTupla()); StringBuilder atributos = new StringBuilder(), geterSeter = new StringBuilder(); StringBuilder metodosEstaticos = new StringBuilder(); generadorMetodosEstaticos(nombreClase.ToString(), metodosEstaticos); string comentarioIniio = "", comentarioFin = ""; StringBuilder atribNombreClase = new StringBuilder("\""); if (!tupla.Prefijo.Equals("")) { atribNombreClase.Append(nombreClase); atribNombreClase.Append("\",\""); atribNombreClase.Append(tupla.Prefijo); atribNombreClase.Append("\",\""); atribNombreClase.Append(tupla.ElementoTupla.QualifiedName.Name); atribNombreClase.Append("\",\""); atribNombreClase.Append(tupla.ElementoTupla.QualifiedName.Namespace); atribNombreClase.Append("\""); } StringBuilder atributeClass = new StringBuilder(); if (!generarMetodosEstaticos) { comentarioFin = "*/"; comentarioIniio = "/*"; atributeClass = generarAtributeClass(); } obtenerAtributosTuple(atributos, geterSeter); #region Codigo a generar codigo.Append(@"using System; using System.Collections.Generic; using System.Text; using System.Reflection; using System.Xml; using dotXbrl.xbrlApi.XBRL; namespace dotXbrl{ [Element(").Append(atribNombreClase).Append(@")] public class ").Append(nombreClase).Append(@":dotXbrl.xbrlApi.XBRL.IConcepto { private dotXbrl.xbrlApi.XBRL.IContexto _contexto = null; #region Atributos ").Append(atributos).Append(@" #endregion #region Propiedades ").Append(geterSeter).Append(@" #endregion public ").Append(nombreClase).Append(@"(){} #region IConcepto Members dotXbrl.xbrlApi.XBRL.IContexto dotXbrl.xbrlApi.XBRL.IConcepto.getContexto() { return _contexto; } void dotXbrl.xbrlApi.XBRL.IConcepto.setContexto(dotXbrl.xbrlApi.XBRL.IContexto contexto) { _contexto = contexto; } #endregion ").Append(comentarioIniio).Append(@" ").Append(metodosEstaticos).Append(@" ").Append(comentarioFin).Append(@" } } ").Append(atributeClass).Append(@" "); #endregion }
public StringBuilder generarCodigo(IXBRLTupleDef tupla) { StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder(); generarCodigoClase(tupla, nombreClase, codigo, true); escribirFicheroCodigo(codigo, nombreClase); return nombreClase; }
public StringBuilder generarClase(IXBRLTupleDef tupla) { StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder(); generarCodigoClase(tupla, nombreClase, codigo, false); compilarClase(codigo, nombreClase); return nombreClase; }