public void PrepararDocumentoParaVisorTest() { IDocumentoInstanciaXBRL documentoInstancia = new DocumentoInstanciaXBRL(); ManejadorErroresCargaTaxonomia manejadorErrores = new ManejadorErroresCargaTaxonomia(); documentoInstancia.ManejadorErrores = manejadorErrores; //documentoInstancia.Cargar("C:\\Users\\Antonio\\Desktop\\example1_2014-03-05\\xbrl_example1_2014-03-05.xbrl"); //documentoInstancia.Cargar("C:\\Users\\Antonio\\Downloads\\example2_2014-03-05\\xbrl_example2_2014-03-05.xbrl"); documentoInstancia.Cargar(@"C:\workspace_abax\AbaxXBRL\DocumentosInstancia\ifrs2014_t3_primer_anio_2.xbrl"); if (manejadorErrores.PuedeContinuar()) { IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); IValidadorDocumentoInstancia validador = new ValidadorDocumentoInstancia(); grupoValidadores.ManejadorErrores = manejadorErrores; grupoValidadores.DocumentoInstancia = documentoInstancia; grupoValidadores.AgregarValidador(validador); grupoValidadores.AgregarValidador(new ValidadorDimensionesDocumentoInstancia()); grupoValidadores.ValidarDocumento(); if (manejadorErrores.PuedeContinuar()) { IXbrlViewerService xbrlViewerService = new XbrlViewerService(); DocumentoInstanciaXbrlDto dto = xbrlViewerService.PreparaDocumentoParaVisor(documentoInstancia, null); Debug.WriteLine(dto); } } }
public void GenerarPlantillaDeTaxonomia() { //var documentoUrl = "C:\\Users\\Antonio\\Desktop\\ifrsxbrl_COMERCI_2014-3.xbrl"; var documentoUrl = @"C:\workspace_abax\AbaxXBRL\DocumentosInstancia\ifrs2014_t3_primer_anio_fibras.xbrl"; //var documentoUrl = "C:\\Users\\Antonio\\Downloads\\taxonomia_millo\\ifrs2014_t3_primer_anio_2.xbrl"; //var folderTaxonomia = "mx-ifrs-ics-es_2012-04-01"; var folderTaxonomia = "ifrs_mx_20141205"; var documentoInstancia = new DocumentoInstanciaXBRL(); var manejadorErrores = new ManejadorErroresCargaTaxonomia(); var resultadoOperacion = new ResultadoOperacionDto(); documentoInstancia.ManejadorErrores = manejadorErrores; documentoInstancia.Cargar(documentoUrl); if (manejadorErrores.PuedeContinuar()) { IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); IValidadorDocumentoInstancia validador = new ValidadorDocumentoInstancia(); grupoValidadores.ManejadorErrores = manejadorErrores; grupoValidadores.DocumentoInstancia = documentoInstancia; grupoValidadores.AgregarValidador(validador); grupoValidadores.ValidarDocumento(); if (manejadorErrores.PuedeContinuar()) { var xbrlViewerService = new XbrlViewerService(); var documentoInstanciaDto = xbrlViewerService.PreparaDocumentoParaVisor(documentoInstancia, null); IList <string> nombresVariablesPlantilla = new List <string>(); foreach (var rol in documentoInstanciaDto.Taxonomia.RolesPresentacion) { var resultadoGeneracion = GenerarPlantillaDeRol(rol, documentoInstanciaDto, nombresVariablesPlantilla); if (resultadoGeneracion.Resultado) { string textoDefinicion = File.ReadAllText("PlantillasTs/DefinicionTaxonomia.txt"); if (textoDefinicion != null) { var uriEntryPoint = documentoInstanciaDto.DtsDocumentoInstancia[0].HRef; var nombreClase = documentoInstanciaDto.DtsDocumentoInstancia[0].HRef.Replace(":", "_").Replace("/", "_").Replace(".", "_").Replace("-", "_"); var declaracionVariables = ""; foreach (var nombreVariable in nombresVariablesPlantilla) { declaracionVariables += "this.VariablesDocumentoInstancia['" + nombreVariable + "'] = '';\n"; } textoDefinicion = textoDefinicion.Replace("#uriEntryPoint", uriEntryPoint); textoDefinicion = textoDefinicion.Replace("#nombreClase", nombreClase); textoDefinicion = textoDefinicion.Replace("#declaracionVariables", declaracionVariables); textoDefinicion = textoDefinicion.Replace("#folderTaxonomia", folderTaxonomia); File.WriteAllText(documentoInstanciaDto.DtsDocumentoInstancia[0].HRef.Replace(":", "_").Replace("/", "_") + ".ts", textoDefinicion); } } } } } }
private void agregarTaxonomia(DocumentoInstanciaXbrlDto instanciaDto, CacheTaxonomiaEnMemoriaXBRL _cacheTaxonomiaXbrl) { var viewerService = new XbrlViewerService(); var taxonomiaDto = _cacheTaxonomiaXbrl.ObtenerTaxonomia(instanciaDto.DtsDocumentoInstancia); var manejadorErrores = new ManejadorErroresCargaTaxonomia(); if (taxonomiaDto == null) { var taxo = new TaxonomiaXBRL { ManejadorErrores = manejadorErrores }; foreach (var dts in instanciaDto.DtsDocumentoInstancia) { if (dts.Tipo == DtsDocumentoInstanciaDto.SCHEMA_REF) { taxo.ProcesarDefinicionDeEsquema(dts.HRef); } } taxo.CrearArbolDeRelaciones(); taxonomiaDto = viewerService.CrearTaxonomiaAPartirDeDefinicionXbrl(taxo); if (manejadorErrores.PuedeContinuar()) { _cacheTaxonomiaXbrl.AgregarTaxonomia(instanciaDto.DtsDocumentoInstancia, taxonomiaDto); } else { return; } } instanciaDto.Taxonomia = taxonomiaDto; }
public void TestCargarExcelGenerico() { var entity = new AbaxDbEntities(); var service = new DocumentoInstanciaService { DocumentoInstanciaRepository = new DocumentoInstanciaRepository(), UsuarioDocumentoInstanciaRepository = new UsuarioDocumentoInstanciaRepository(), VersionDocumentoInstanciaRepository = new VersionDocumentoInstanciaRepository(), EmpresaRepository = new EmpresaRepository(), UsuarioRepository = new UsuarioRepository() }; FileStream fs = File.Open(@"C:\workspace_abax\AbaxXBRL\AbaxXBRLWeb\formato_ifrs_smes_T1.xlsx", FileMode.Open, FileAccess.Read); var documentoInstancia = new DocumentoInstanciaXBRL(); var manejadorErrores = new ManejadorErroresCargaTaxonomia(); var resultadoOperacion = new ResultadoOperacionDto(); documentoInstancia.ManejadorErrores = manejadorErrores; documentoInstancia.Cargar("C:\\workspace_abax\\AbaxXBRL\\example1_2014-03-05\\xbrl_example1_2014-03-05.xbrl"); if (manejadorErrores.PuedeContinuar()) { IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); IValidadorDocumentoInstancia validador = new ValidadorDocumentoInstancia(); grupoValidadores.ManejadorErrores = manejadorErrores; grupoValidadores.DocumentoInstancia = documentoInstancia; grupoValidadores.AgregarValidador(validador); grupoValidadores.ValidarDocumento(); var xbrlViewerService = new XbrlViewerService(); resultadoOperacion.InformacionExtra = xbrlViewerService.PreparaDocumentoParaVisor(documentoInstancia, null); var inst = resultadoOperacion.InformacionExtra as DocumentoInstanciaXbrlDto; resultadoOperacion.Resultado = true; } fs.Close(); Debug.WriteLine(resultadoOperacion); }
public void TestCargaInstancia() { TaxonomiaXBRL taxonomiaXBRL = new TaxonomiaXBRL(); IManejadorErroresXBRL manejadorErroresTax = new ManejadorErroresCargaTaxonomia(); Debug.WriteLine(DateTime.Now); taxonomiaXBRL.ManejadorErrores = manejadorErroresTax; taxonomiaXBRL.ProcesarDefinicionDeEsquema("http://emisnet.bmv.com.mx/taxonomy/mx-ifrs-ics-2012-04-01/All/ifrs-mx-ics-entryPoint-all-2012-04-01.xsd"); taxonomiaXBRL.CrearArbolDeRelaciones(); taxonomiaXBRL.CrearRelacionesDimensionales(); Debug.WriteLine(DateTime.Now); DocumentoInstanciaXBRL inst = new DocumentoInstanciaXBRL(); ManejadorErroresCargaTaxonomia manejadorErrores = new ManejadorErroresCargaTaxonomia(); IGrupoValidadoresTaxonomia valTax = new GrupoValidadoresTaxonomia(); valTax.ManejadorErrores = manejadorErroresTax; valTax.Taxonomia = taxonomiaXBRL; valTax.AgregarValidador(new ValidadorTaxonomia()); valTax.AgregarValidador(new ValidadorTaxonomiaDinemsional()); valTax.ValidarDocumento(); inst.Taxonomia = taxonomiaXBRL; inst.ManejadorErrores = manejadorErrores; FileStream archivo = new FileStream("C:\\workspace_abax\\AbaxXBRL\\ifrsxbrl_AC_2014-2.xbrl", FileMode.Open); inst.Cargar(archivo); IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); IValidadorDocumentoInstancia validador = new ValidadorDocumentoInstancia(); grupoValidadores.ManejadorErrores = inst.ManejadorErrores; grupoValidadores.DocumentoInstancia = inst; grupoValidadores.AgregarValidador(validador); validador = new ValidadorDimensionesDocumentoInstancia(); validador.DocumentoInstancia = inst; grupoValidadores.AgregarValidador(validador); grupoValidadores.ValidarDocumento(); FactItem hechoItem = null; //carga de contextos y hechos var instanciaDto = new AbaxXBRLCore.Viewer.Application.Dto.Angular.DocumentoInstanciaDto(); if (manejadorErrores.PuedeContinuar()) { foreach (Fact hecho in inst.Hechos) { //Verificar si el contexto existe if (hecho is FactItem) { hechoItem = (FactItem)hecho; } } } Assert.IsTrue(true); }
public void CargarDocumentoInstanciaXbrl() { var documentoInstanciaXbrl = new DocumentoInstanciaXBRL(); IManejadorErroresXBRL manejadorErrores = new ManejadorErroresCargaTaxonomia(); documentoInstanciaXbrl.ManejadorErrores = manejadorErrores; //documentoInstanciaXbrl.Cargar("C:\\workspaces\\memoria_xbrl\\Ejercicio Práctico\\instancia_taxonomia1.xml"); //documentoInstanciaXBRL.Cargar("C:\\dotNet\\AbaxXBRL_1\\AbaxXBRL\\XBRL-CONF-CR5-2012-01-24\\Common\\300-instance\\304-18-sameOrderDivisionMeasuresValid.xml"); //documentoInstanciaXBRL.Cargar("C:\\dotNet\\AbaxXBRL_1\\AbaxXBRL\\XBRL-CONF-CR5-2012-01-24\\Common\\100-schema\\104-04-TupleExampleComplextype.xml"); documentoInstanciaXbrl.Cargar(@"c:\tmp\ifrsxbrl_BAFAR_2014-4.xbrl"); IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); grupoValidadores.ManejadorErrores = manejadorErrores; grupoValidadores.DocumentoInstancia = documentoInstanciaXbrl; grupoValidadores.AgregarValidador(new ValidadorDocumentoInstancia()); grupoValidadores.AgregarValidador(new ValidadorDimensionesDocumentoInstancia()); grupoValidadores.ValidarDocumento(); foreach (var ctx in documentoInstanciaXbrl.Contextos.Values) { if (ctx.Entidad.Segmento != null && ctx.Entidad.Segmento.MiembrosDimension != null && ctx.Entidad.Segmento.MiembrosDimension.Count > 0) { ctx.Escenario = new Scenario(); ctx.Escenario.MiembrosDimension = ctx.Entidad.Segmento.MiembrosDimension; ctx.Entidad.Segmento = null; } } var xbrl = documentoInstanciaXbrl.GenerarDocumentoXbrl(); var encoding = Encoding.UTF8; foreach (var encActual in Encoding.GetEncodings()) { if (encActual.Name.Equals("iso-8859-1")) { encoding = encActual.GetEncoding(); break; } } var settings = new XmlWriterSettings(); settings.CloseOutput = true; settings.Indent = true; settings.NamespaceHandling = NamespaceHandling.OmitDuplicates; settings.NewLineHandling = NewLineHandling.Entitize; settings.Encoding = encoding; var stream = new MemoryStream(); var txtWriter = new StreamWriter(stream, encoding); var xmlWriterDebug = XmlWriter.Create(txtWriter, settings); xbrl.Save(xmlWriterDebug); String archivoFinal = encoding.GetString(stream.ToArray()); Assert.IsTrue(manejadorErrores.PuedeContinuar()); }