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"); }
public void TestObtenerXBRLBMV2015DeBaseDeDatos() { 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() }; var viewService = new XbrlViewerService(); var resultado = service.ObtenerModeloDocumentoInstanciaXbrl(251, 3); var modeloDto = resultado.InformacionExtra as DocumentoInstanciaXbrlDto; var taxo = new TaxonomiaXBRL(); taxo.ManejadorErrores = new ManejadorErroresCargaTaxonomia(); taxo.ProcesarDefinicionDeEsquema(modeloDto.DtsDocumentoInstancia.First(x => x.Tipo == DtsDocumentoInstanciaDto.SCHEMA_REF).HRef); var nuevoXbrl = viewService.CrearDocumentoInstanciaXbrl(taxo, modeloDto); 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 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 TestDocumentoInstanciaCompleto() { 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() }; DocumentoInstanciaXbrlDto instanciaDto = null; using (var reader = new StreamReader(@"doinstTest.json")) { instanciaDto = JsonConvert.DeserializeObject <DocumentoInstanciaXbrlDto>(reader.ReadToEnd()); } 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"); foreach (var hecho in instanciaDto.HechosPorId.Values) { Debug.WriteLine(hecho.IdConcepto + " = " + hecho.Valor); } instanciaDto.IdEmpresa = 1; var tax = new TaxonomiaXBRL(); tax.ManejadorErrores = new ManejadorErroresCargaTaxonomia(); tax.ProcesarDefinicionDeEsquema("http://www.2hsoftware.com.mx/mx_taxonomy/mx_taxonomy/full_ifrs_mc_mx_ics_entry_point_2014-12-05.xsd"); var viewer = new XbrlViewerService(); var documentoInstanciaXbrl = viewer.CrearDocumentoInstanciaXbrl(tax, instanciaDto); var xbrl = documentoInstanciaXbrl.GenerarDocumentoXbrl(); var settings = new XmlWriterSettings(); settings.CloseOutput = true; settings.Indent = true; settings.NamespaceHandling = NamespaceHandling.OmitDuplicates; settings.NewLineHandling = NewLineHandling.Entitize; settings.Encoding = Encoding.ASCII; var txtWriter = new StringWriter(); var xmlWriterDebug = XmlWriter.Create(txtWriter, settings); xbrl.Save(xmlWriterDebug); String archivoFinal = txtWriter.ToString().Replace("utf-16", "ISO-8859-1"); var stream = new MemoryStream(); var writer = new StreamWriter(stream); writer.Write(archivoFinal); writer.Flush(); stream.Position = 0; using (var fileStream = new FileStream(@"C:\Users\Emigdio\Desktop\salida.xbrl", FileMode.Create)) { xbrl.Save(fileStream); } }