public IHttpActionResult ObtenerModeloVisorXbrl(string documentoUrl) { var documentoInstancia = new DocumentoInstanciaXBRL(); var manejadorErrores = new ManejadorErroresCargaTaxonomia(); var resultadoOperacion = new ResultadoOperacionDto(); documentoInstancia.ManejadorErrores = manejadorErrores; //documentoInstancia.Taxonomia = DocumentoInstanciaService.ObtenerTaxonomiaIFRS_BMV(); 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(); var xbrlViewerService = new XbrlViewerService(); resultadoOperacion.Resultado = true; resultadoOperacion.InformacionExtra = xbrlViewerService.PreparaDocumentoParaVisor(documentoInstancia); (resultadoOperacion.InformacionExtra as DocumentoInstanciaXbrlDto).IdEmpresa = IdEmpresa; /*}*/ var jsonResult = this.Json(resultadoOperacion); //jsonResult.MaxJsonLength = int.MaxValue; return(jsonResult); }
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); } } } } } }
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); }