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));
        }
        public IHttpActionResult ConsultarRepositorio()
        {
            var resultado = new ResultadoOperacionDto()
            {
                Resultado = true,
                Mensaje   = "Ok"
            };

            try
            {
                var filtrosConsulta = getFormKeyValue("consulta");
                var paginaRequerida = getFormKeyValue("pagina");
                var numeroRegistros = getFormKeyValue("numeroRegistros");

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

                /**
                 * var filtrosConsultaHecho = new EntFiltroConsultaHecho();
                 * filtrosConsultaHecho.conceptos = new EntConcepto[1];
                 * filtrosConsultaHecho.conceptos[0] = new EntConcepto();
                 * filtrosConsultaHecho.conceptos[0].Id = "ifrs-full_ChangesInEquity";
                 * filtrosConsultaHecho.conceptos[0].EspacioNombresTaxonomia = "http://www.bmv.com.mx/taxonomy/ifrs_mx/full_ifrs_mc_mx_ics_entry_point_2014-12-05";
                 * filtrosConsultaHecho.conceptos[0].dimension=new EntInformacionDimensional[1];
                 * filtrosConsultaHecho.conceptos[0].dimension[0] = new EntInformacionDimensional();
                 * filtrosConsultaHecho.conceptos[0].dimension[0].Explicita = true;
                 * filtrosConsultaHecho.conceptos[0].dimension[0].QNameDimension = "http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-full:ComponentsOfEquityAxis";
                 * filtrosConsultaHecho.conceptos[0].dimension[0].IdDimension = "ifrs-full_ComponentsOfEquityAxis";
                 * filtrosConsultaHecho.conceptos[0].dimension[0].QNameItemMiembro = "http://xbrl.ifrs.org/taxonomy/2014-03-05/ifrs-full:IssuedCapitalMember";
                 * filtrosConsultaHecho.conceptos[0].dimension[0].IdItemMiembro = "ifrs-full_IssuedCapitalMember";
                 *
                 * filtrosConsultaHecho.filtros = new EntFiltrosAdicionales();
                 * filtrosConsultaHecho.filtros.entidades=new EntEntidad[1];
                 * filtrosConsultaHecho.filtros.entidades[0] = new EntEntidad();
                 * filtrosConsultaHecho.filtros.entidades[0].Id="ICA";
                 * filtrosConsultaHecho.filtros.periodos=new EntPeriodo[1];
                 * filtrosConsultaHecho.filtros.periodos[0] = new EntPeriodo();
                 * filtrosConsultaHecho.filtros.periodos[0].EsTipoInstante=false;
                 * filtrosConsultaHecho.filtros.periodos[0].Tipo=2;
                 * filtrosConsultaHecho.filtros.periodos[0].FechaInicio=new DateTime(2015,1,1);
                 * filtrosConsultaHecho.filtros.periodos[0].FechaFin=new DateTime(2015,6,30);
                 *
                 *
                 * filtrosConsultaHecho.filtros.unidades=new string[1];
                 * filtrosConsultaHecho.filtros.unidades[0] = "MXN";
                 *
                 * paginaRequerida = "1";
                 * numeroRegistros = "10";
                 */

                resultado = AbaxXBRLCellStoreService.ConsultarRepositorio(filtrosConsultaHecho, int.Parse(paginaRequerida), int.Parse(numeroRegistros));

                ReporteGenericoMongoDB reporteGenericoMongoDB = new ReporteGenericoMongoDB();

                EstructuraReporteGenerico estructuraReporteGenerico = reporteGenericoMongoDB.CrearEstructuraGenerica(filtrosConsultaHecho, resultado, true);
                estructuraReporteGenerico  = reporteGenericoMongoDB.AgruparHechosPorPeriodo(filtrosConsultaHecho, estructuraReporteGenerico);
                resultado.InformacionExtra = estructuraReporteGenerico;
            }
            catch (Exception e)
            {
                resultado.Resultado = false;
                resultado.Mensaje   = e.Message;
                LogUtil.Error(e);
            }


            return(Ok(resultado));
        }