Пример #1
0
        public StringBuilder generarCodigo(IXBRLTupleDef tupla)
        {
            StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder();

            generarCodigoClase(tupla, nombreClase, codigo, true);

            escribirFicheroCodigo(codigo, nombreClase);

            return(nombreClase);
        }
Пример #2
0
        public StringBuilder generarClase(IXBRLTupleDef tupla)
        {
            StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder();

            generarCodigoClase(tupla, nombreClase, codigo, false);

            compilarClase(codigo, nombreClase);

            return(nombreClase);
        }
Пример #3
0
        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
        }
Пример #4
0
        public StringBuilder generarCodigo(IXBRLTupleDef tupla)
        {
            StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder();
            generarCodigoClase(tupla, nombreClase, codigo, true);

            escribirFicheroCodigo(codigo, nombreClase);

            return nombreClase;
        }
Пример #5
0
        public StringBuilder generarClase(IXBRLTupleDef tupla)
        {
            StringBuilder nombreClase = new StringBuilder(), codigo = new StringBuilder();
            generarCodigoClase(tupla, nombreClase, codigo, false);

            compilarClase(codigo, nombreClase);

            return nombreClase;
        }
Пример #6
0
        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
        }