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 TestContextosPorRol() { var entity = new AbaxDbEntities(); var service = new DocumentoInstanciaService { DocumentoInstanciaRepository = new DocumentoInstanciaRepository(), UsuarioDocumentoInstanciaRepository = new UsuarioDocumentoInstanciaRepository(), VersionDocumentoInstanciaRepository = new VersionDocumentoInstanciaRepository(), UsuarioRepository = new UsuarioRepository() }; var doc = new DocumentoInstanciaXBRL(); doc.Cargar("file:///C:/workspace_abax/AbaxXBRL/ifrsxbrl_AC_2014-2.xbrl"); if (doc.ManejadorErrores.PuedeContinuar()) { var keyValRol = doc.Taxonomia.ConjuntoArbolesLinkbase.Where(x => x.Value.Count > 0).ToList(); foreach (var rolType in keyValRol) { Debug.WriteLine("__________________________________________"); Debug.WriteLine(doc.Taxonomia.RolesTaxonomia[rolType.Key].Id); foreach (var ctx in doc.ObtenerContextosDeRol(rolType.Key)) { Debug.WriteLine(ctx.Periodo.ToString()); } } } }
public void TestExportarExcelBmv2012() { var documentoInstancia = new DocumentoInstanciaXBRL(); documentoInstancia.Cargar(new FileStream(@"C:\workspace_abax\AbaxXBRL\ifrsxbrl_AC_2014-2.xbrl", FileMode.Open)); var viewService = new XbrlViewerService(); var instanciaDto = viewService.PreparaDocumentoParaVisor(documentoInstancia, null); instanciaDto.IdEmpresa = 1; instanciaDto.ParametrosConfiguracion = new Dictionary <string, string>(); instanciaDto.ParametrosConfiguracion.Add("trimestre", "2"); instanciaDto.ParametrosConfiguracion.Add("primerAnio", "false"); instanciaDto.ParametrosConfiguracion.Add("emisora", "AC"); instanciaDto.ParametrosConfiguracion.Add("anio", "2014-01-27T00:00:00.000Z"); instanciaDto.ParametrosConfiguracion.Add("moneda", "http://www.xbrl.org/2003/iso4217:MXN"); var importador = (IImportadorExportadorArchivoADocumentoInstancia)applicationContext.GetObject("ImportadorExportadorArchivosPlantilla"); var resultado = importador.ExportarDocumentoExcel(instanciaDto, "es"); using (var fileStream = new FileStream(@"C:\Users\Emigdio\Desktop\ifrs_2012_ics_llenado.xlsx", FileMode.Create)) { var instanciaSalida = (byte[])(resultado.InformacionExtra as Dictionary <string, object>)["archivo"]; fileStream.Write(instanciaSalida, 0, instanciaSalida.Length); } }
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 testUnidadesRepetidas() { XbrlViewerService serv = new XbrlViewerService(); var docInst = new DocumentoInstanciaXBRL(); docInst.Cargar(@"C:\temp\Prueba GNM BMV 7 10 abril 15.xbrl"); var docDto = serv.PreparaDocumentoParaVisor(docInst, null); serv.EliminarElementosDuplicados(docDto); serv.CrearDocumentoInstanciaXbrl(docInst.Taxonomia, docDto).GenerarDocumentoXbrl().Save(@"C:\temp\Prueba GNM BMV 7 10 abril 15 salida.xbrl"); }
/// <summary> /// Convierte un objeto documentoInstanciaDto a la estructura que se requiere para crear el reporte /// y llama al metodo que genera el archivo xlsx /// </summary> /// <param name="rutaArchivoXBRL">Ruta del archivo XBRL a procesar</param> /// <param name="rutaDestino">Ruta destino donde se crear el archivo xlsx</param> /// <param name="idioma">Idioma en la que se va a generar el reporte</param> /// <param name="agruparPorunidad">Agrupacion de las columnas por unidad</param> public MemoryStream ExcelStream(string rutaArchivoXBRL, string idioma, bool agruparPorunidad) { if (!File.Exists(rutaArchivoXBRL)) { throw new Exception(string.Format("El archivo {0} no existe", Path.GetFileName(rutaArchivoXBRL))); } var documentoInstancia = new DocumentoInstanciaXBRL(); var xbrlViewerService = new XbrlViewerService(); documentoInstancia.Cargar(rutaArchivoXBRL); var documentoInstanciaDto = xbrlViewerService.PreparaDocumentoParaVisor(documentoInstancia, null); ReporteGenerico reporteGenerico = new ReporteGenerico(); var estruturaDeReporte = reporteGenerico.GeneracionReporteGenerico(documentoInstanciaDto, idioma, agruparPorunidad); return(ReporteGenericoExcel(estruturaDeReporte, idioma, agruparPorunidad)); }
public void testCargarTaxonomia() { TaxonomiaXBRL taxonomiaXBRL = new TaxonomiaXBRL(); IManejadorErroresXBRL manejadorErrores = new ManejadorErroresCargaTaxonomia(); taxonomiaXBRL.ManejadorErrores = manejadorErrores; taxonomiaXBRL.ProcesarDefinicionDeEsquema("http://superwas.supersociedades.gov.co/sirfin/xbrl/2015-03-04/sds_ifrs-inicio-plenas-individuales-2015-03-04.xsd"); taxonomiaXBRL.CrearArbolDeRelaciones(); IGrupoValidadoresTaxonomia valTax = new GrupoValidadoresTaxonomia(); valTax.ManejadorErrores = manejadorErrores; valTax.Taxonomia = taxonomiaXBRL; valTax.AgregarValidador(new ValidadorTaxonomia()); valTax.AgregarValidador(new ValidadorTaxonomiaDinemsional()); valTax.ValidarDocumento(); XbrlViewerService serv = new XbrlViewerService(); DocumentoInstanciaXBRL inst = new DocumentoInstanciaXBRL(); inst.ManejadorErrores = manejadorErrores; inst.Cargar(@"C:\workspace_abax\XBRL Colombia\T01_E10_8190009868_2014-12-31.xbrl"); valTax = new GrupoValidadoresTaxonomia(); valTax.ManejadorErrores = manejadorErrores; valTax.DocumentoInstancia = inst; valTax.AgregarValidador(new ValidadorDocumentoInstancia()); valTax.AgregarValidador(new ValidadorDimensionesDocumentoInstancia()); valTax.ValidarDocumento(); foreach (var error in manejadorErrores.GetErroresTaxonomia()) { Debug.WriteLine(error.Mensaje); } foreach (var hecho in inst.Hechos) { Debug.WriteLine(hecho.Concepto.Id + " = " + ((FactItem)hecho).Valor); } var taxDt = serv.CrearTaxonomiaAPartirDeDefinicionXbrl(taxonomiaXBRL); }
public void TestAgrupacionGruposContextosPorRol() { var entity = new AbaxDbEntities(); var service = new DocumentoInstanciaService { DocumentoInstanciaRepository = new DocumentoInstanciaRepository(), UsuarioDocumentoInstanciaRepository = new UsuarioDocumentoInstanciaRepository(), VersionDocumentoInstanciaRepository = new VersionDocumentoInstanciaRepository(), UsuarioRepository = new UsuarioRepository() }; var doc = new DocumentoInstanciaXBRL(); doc.Cargar("file:///C:/workspace_abax/AbaxXBRL/ifrsxbrl_AC_2014-2.xbrl"); if (doc.ManejadorErrores.PuedeContinuar()) { var keyValRol = doc.Taxonomia.ConjuntoArbolesLinkbase.Where(x => x.Value.Count > 0).ToList(); foreach (var rolType in keyValRol) { Debug.WriteLine("__________________________________________"); Debug.WriteLine(doc.Taxonomia.RolesTaxonomia[rolType.Key].Id); int iCtx = 1; foreach (var identificador in doc.ObtenerOpcionesParaGruposDeContextos(rolType.Key)) { Debug.WriteLine(identificador.Key); foreach (var periodo in identificador.Value) { Debug.WriteLine("\t" + periodo.Key); foreach (var dimension in periodo.Value) { Debug.WriteLine("\t\t" + dimension.Key); foreach (var ctx in dimension.Value) { Debug.WriteLine("\t\t\t" + ctx.Id); } } } } } } }
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 TestObtenerXBRLBMV2015() { var service = new DocumentoInstanciaService { DocumentoInstanciaRepository = new DocumentoInstanciaRepository(), UsuarioDocumentoInstanciaRepository = new UsuarioDocumentoInstanciaRepository(), VersionDocumentoInstanciaRepository = new VersionDocumentoInstanciaRepository(), EmpresaRepository = new EmpresaRepository(), UsuarioRepository = new UsuarioRepository(), UnidadRepository = new UnidadRepository(), ContextoRepository = new ContextoRepository(), DtsDocumentoInstanciaRepository = new DtsDocumentoInstanciaRepository(), HechoRepository = new HechoRepository(), NotaAlPieRepository = new NotaAlPieRepository() }; var documentoInstancia = new DocumentoInstanciaXBRL(); documentoInstancia.Cargar(new FileStream(@"C:\workspace_abax\AbaxXBRL\mx_taxonomy\Complete_sample_data_instance_notes.xbrl", FileMode.Open)); // documentoInstancia.Cargar(@"C:\workspace_abax\AbaxXBRL\XBRL-CONF-CR5-2012-01-24\Common\100-schema\104-02-TupleExampleAnyOrder.xml"); if (documentoInstancia.ManejadorErrores.PuedeContinuar()) { IGrupoValidadoresTaxonomia grupoValidadores = new GrupoValidadoresTaxonomia(); grupoValidadores.ManejadorErrores = documentoInstancia.ManejadorErrores; grupoValidadores.DocumentoInstancia = documentoInstancia; grupoValidadores.AgregarValidador(new ValidadorDocumentoInstancia()); grupoValidadores.AgregarValidador(new ValidadorDimensionesDocumentoInstancia()); grupoValidadores.ValidarDocumento(); } var viewService = new XbrlViewerService(); var instanciaDto = viewService.PreparaDocumentoParaVisor(documentoInstancia, null); instanciaDto.IdEmpresa = 1; var resultado = service.GuardarDocumentoInstanciaXbrl(instanciaDto, 3); var idDoc = instanciaDto.IdDocumentoInstancia; Debug.WriteLine("Nuevo Id:" + idDoc); resultado = service.ObtenerModeloDocumentoInstanciaXbrl(idDoc.Value, 3); var nuevoXbrl = viewService.CrearDocumentoInstanciaXbrl(documentoInstancia.Taxonomia, resultado.InformacionExtra as DocumentoInstanciaXbrlDto); var xmlDoc = nuevoXbrl.GenerarDocumentoXbrl(); var settings = new XmlWriterSettings { CloseOutput = true, Indent = true, NamespaceHandling = NamespaceHandling.OmitDuplicates, NewLineHandling = NewLineHandling.Entitize, Encoding = Encoding.UTF8 }; string res = null; using (var memStream = new MemoryStream()) { using (XmlWriter xmlWriterDebug = XmlWriter.Create(memStream, settings)) { xmlDoc.Save(xmlWriterDebug); res = Encoding.UTF8.GetString(memStream.ToArray()); } } Debug.WriteLine(res); }
public void TestImportarExcelConPlantilla() { var documentoInstancia = new DocumentoInstanciaXBRL(); documentoInstancia.Cargar(new FileStream(@"C:\Users\LMORALESG\Downloads\PruebaLuisAngel.xbrl", FileMode.Open)); var viewService = new XbrlViewerService(); var instanciaDto = viewService.PreparaDocumentoParaVisor(documentoInstancia, null); instanciaDto.IdEmpresa = 1; var jsonDoc = JsonConvert.SerializeObject(instanciaDto, new JsonSerializerSettings() { ReferenceLoopHandling = ReferenceLoopHandling.Ignore }); using (StreamWriter outfile = new StreamWriter(@"doinstTest.json")) { outfile.Write(jsonDoc); } instanciaDto = null; using (var reader = new StreamReader(@"doinstTest.json")) { instanciaDto = JsonConvert.DeserializeObject <DocumentoInstanciaXbrlDto>(reader.ReadToEnd()); } var tax = instanciaDto.Taxonomia; var dts = instanciaDto.DtsDocumentoInstancia; instanciaDto = new DocumentoInstanciaXbrlDto(); instanciaDto.Taxonomia = tax; instanciaDto.DtsDocumentoInstancia = dts; ActivadorLicenciaAsposeUtil.ActivarAsposeWords(); instanciaDto.ParametrosConfiguracion = new Dictionary <string, string>(); instanciaDto.ParametrosConfiguracion.Add("trimestre", "3"); instanciaDto.ParametrosConfiguracion.Add("primerAnio", "true"); instanciaDto.ParametrosConfiguracion.Add("emisora", "PEMEX"); instanciaDto.ParametrosConfiguracion.Add("anio", "2015-01-01T06:00:00.000Z"); instanciaDto.ParametrosConfiguracion.Add("moneda", "http://www.xbrl.org/2003/iso4217:MXN"); instanciaDto.EspacioNombresPrincipal = "http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05"; using (var archivo = new FileStream(@"C:\Users\Emigdio\Desktop\ifrs_2014_ics_lleno_nuevo.xlsx", FileMode.Open)) { var importador = (IImportadorExportadorArchivoADocumentoInstancia)applicationContext.GetObject("ImportadorExportadorArchivosPlantilla"); importador.ImportarDatosExcel(archivo, instanciaDto); var resultado = importador.ExportarDocumentoExcel(instanciaDto, "es"); using (var fileStream = new FileStream(@"C:\Users\Emigdio\Desktop\ifrs_2014_ics_llenado_nuevo_salida.xlsx", FileMode.Create)) { var instanciaSalida = (byte[])(resultado.InformacionExtra as Dictionary <string, object>)["archivo"]; fileStream.Write(instanciaSalida, 0, instanciaSalida.Length); } resultado = importador.ExportarDocumentoWord(instanciaDto, "es"); using (var fileStream = new FileStream(@"C:\Users\Emigdio\Desktop\ifrs_2014_ics_llenado_nuevo_salida.docx", FileMode.Create)) { var instanciaSalida = (byte[])(resultado.InformacionExtra as Dictionary <string, object>)["archivo"]; fileStream.Write(instanciaSalida, 0, instanciaSalida.Length); } } foreach (var hecho in instanciaDto.HechosPorId.Values) { Debug.WriteLine(instanciaDto.Taxonomia.ConceptosPorId[hecho.IdConcepto].Id + " : " + hecho.Valor); } }
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()); }