Exemple #1
0
        public void GeneracionReporte()
        {
            string rutaArchivoXBRL  = @"E:\samplesXBRL\800001\ifrsxbrl_DAIMLER_2015-2.xbrl";
            string rutaDestino      = @"E:\VictorCastro\ExcelXbrlGenerico\plantilla_2015_fibra.xlsx";
            string idioma           = "es";
            bool   agruparPorunidad = true;

            CrearReporteGenerico crearReporteGenerico = new CrearReporteGenerico();
            var contenido = crearReporteGenerico.ExcelStream(rutaArchivoXBRL, idioma, agruparPorunidad).ToArray();

            crearReporteGenerico.CrearArchivoEnExcel(contenido, rutaDestino);
        }
        public IHttpActionResult ExportarReporteExcelConsultasRepositorio()
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true,
                Mensaje   = "Ok"
            };

            try
            {
                //var filtrosConsulta = "{\"conceptos\":[{\"Id\":\"ifrs-full_AdministrativeExpense\",\"EspacioNombres\":null,\"EspacioNombresTaxonomia\":\"http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05\",\"orden\":1,\"indentacion\":1,\"esAbstracto\":false,\"dimension\":null,\"Nombre\":null,\"etiqueta\":null},{\"Id\":\"ifrs-full_DistributionCosts\",\"EspacioNombres\":null,\"EspacioNombresTaxonomia\":\"http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05\",\"orden\":2,\"indentacion\":1,\"esAbstracto\":false,\"dimension\":null,\"Nombre\":null,\"etiqueta\":null},{\"Id\":\"ifrs-full_Inventories\",\"EspacioNombres\":null,\"EspacioNombresTaxonomia\":\"http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05\",\"orden\":2,\"indentacion\":1,\"esAbstracto\":false,\"dimension\":null,\"Nombre\":null,\"etiqueta\":null},{\"Id\":\"ifrs-full_Equity\",\"EspacioNombres\":null,\"EspacioNombresTaxonomia\":\"http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05\",\"orden\":2,\"indentacion\":2,\"esAbstracto\":false,\"dimension\":[{\"Filtro\":null,\"Explicita\":true,\"IdDimension\":\"ifrs-full_ComponentsOfEquityAxis\",\"IdItemMiembro\":\"ifrs-full_OtherReservesMember\",\"QNameDimension\":\"http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-full:ComponentsOfEquityAxis\",\"QNameItemMiembro\":\"http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-full:OtherReservesMember\",\"ElementoMiembroTipificado\":null}],\"Nombre\":null,\"etiqueta\":null},{\"Id\":\"ifrs_mx-cor_20141205_ComercioExteriorBancarios\",\"EspacioNombres\":null,\"EspacioNombresTaxonomia\":\"http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05\",\"orden\":5,\"indentacion\":2,\"esAbstracto\":false,\"dimension\":[{\"Filtro\":\"TOTAL\",\"Explicita\":false,\"IdDimension\":\"ifrs_mx-cor_20141205_InstitucionEje\",\"IdItemMiembro\":null,\"QNameDimension\":\"http://bmv.com.mx/ifrs_mx-cor_20141205/full_ifrs_mx-cor_2014-12-05:InstitucionEje\",\"QNameItemMiembro\":null,\"ElementoMiembroTipificado\":null}],\"Nombre\":null,\"etiqueta\":null}],\"filtros\":{\"entidades\":[\"DAIMLER\",\"AEROMEX\"],\"entidadesDiccionario\":null,\"unidades\":[\"MXN\",\"USD\"],\"gruposEntidades\":null,\"periodos\":[{\"Tipo\":0,\"EsTipoInstante\":false,\"FechaInstante\":null,\"FechaInicio\":\"2015-01-01T00:00:00\",\"FechaFin\":\"2015-06-30T00:00:00\"},{\"Tipo\":0,\"EsTipoInstante\":false,\"FechaInstante\":null,\"FechaInicio\":\"2015-04-01T00:00:00\",\"FechaFin\":\"2015-06-30T00:00:00\"},{\"Tipo\":0,\"EsTipoInstante\":false,\"FechaInstante\":null,\"FechaInicio\":\"2014-04-01T00:00:00\",\"FechaFin\":\"2014-12-31T00:00:00\"}]},\"idioma\":\"es\"}";
                var filtrosConsulta = getFormKeyValue("consulta");
                var isExportWord    = getFormKeyValue("isExportWord");

                var settings = new JsonSerializerSettings {
                    NullValueHandling = NullValueHandling.Ignore
                };
                var filtrosConsultaHecho = JsonConvert.DeserializeObject <EntFiltroConsultaHecho>(filtrosConsulta, settings);

                resultado = AbaxXBRLCellStoreService.ConsultarRepositorio(filtrosConsultaHecho, -1, -1);

                if (resultado.Resultado && ((EntHecho[])resultado.InformacionExtra).Count() > 0)
                {
                    ReporteGenericoMongoDB reporteGenericoMongoDB = new ReporteGenericoMongoDB();

                    EstructuraReporteGenerico estructuraReporteGenerico = reporteGenericoMongoDB.CrearEstructuraGenerica(filtrosConsultaHecho, resultado, true);
                    estructuraReporteGenerico = reporteGenericoMongoDB.AgruparHechosPorPeriodo(filtrosConsultaHecho, estructuraReporteGenerico);

                    CrearReporteGenerico crearReporteGenerico = new CrearReporteGenerico();

                    if (isExportWord == null)
                    {
                        var contenidoDelReporteExcel = crearReporteGenerico.ExcelStream(estructuraReporteGenerico);
                        return(this.ExportDatosToExcel(contenidoDelReporteExcel, "ReporteConsultaRepositorio.xls"));
                    }
                    else
                    {
                        var contenidoDelReporteWord = crearReporteGenerico.ExportWordConsultaReporte(estructuraReporteGenerico);
                        return(this.ExportDatosToWord(contenidoDelReporteWord, "ReporteConsultaRepositorio.docx"));
                    }
                }
                resultado.Resultado = false;
            }
            catch (Exception e)
            {
                resultado.Resultado = false;
                resultado.Mensaje   = e.Message;
            }


            return(Ok(resultado));
        }