public List <string> crearCadenaFiltro(EntFiltroBlockStoreMultiHechos filtroBlockStoreMultiHechos) { var filtros = new List <string>(); var filtroBlockStoreHechos = new EntFiltroBlockStoreHechos { EspacioNombresPrincipal = filtroBlockStoreMultiHechos.EspacioNombresPrincipal }; foreach (var itemIdEntidad in filtroBlockStoreMultiHechos.ListaIdEntidad) { filtroBlockStoreHechos.IdEntidad = itemIdEntidad; foreach (var itemPeriodo in filtroBlockStoreMultiHechos.ListaPeriodo) { filtroBlockStoreHechos.PeriodoFechaInicial = itemPeriodo.PeriodoFechaInicial; filtroBlockStoreHechos.PeriodoFechaFinal = itemPeriodo.PeriodoFecha; foreach (var itemMedida in filtroBlockStoreMultiHechos.ListaMedida) { filtroBlockStoreHechos.MedidaTipoMedidaNombre = itemMedida.MedidaTipoMedidaNombre; filtroBlockStoreHechos.MedidaTipoMedidaNumeradorNombre = itemMedida.MedidaTipoMedidaDenominadorNombre; foreach (var itemConceptoDimension in filtroBlockStoreMultiHechos.ListaConceptoDimension) { filtroBlockStoreHechos.ConceptoId = itemConceptoDimension.ConceptoId; filtroBlockStoreHechos.DimensionEspaciodeNombre = itemConceptoDimension.DimensionEspaciodeNombre; filtroBlockStoreHechos.DimensionNombre = itemConceptoDimension.DimensionNombre; filtroBlockStoreHechos.DimensionNombreElementoMiembro = itemConceptoDimension.DimensionNombreElementoMiembro; filtroBlockStoreHechos.DimensionElementoMiembroTipificado = itemConceptoDimension.DimensionElementoMiembroTipificado; filtros.Add(crearCadenaFiltro(filtroBlockStoreHechos)); } } } } return(filtros); }
public void TestFiltroCompuestoReporte() { var creaFiltros = new BlockStoreCrearFiltro(); var entFiltroMultiHechos = new EntFiltroBlockStoreMultiHechos { EspacioNombresPrincipal = "http://www.bmv.com.mx/fr/ics/2012-04-01/ifrs-mx-ics-entryPoint-all", ListaIdEntidad = new List <string> { "ABNGOA", "ABCCB", "ABREGIO", "AC" }, ListaPeriodo = new List <EntFiltroBlockStoreMultiHechos.EntFiltroPeriodos> { new EntFiltroBlockStoreMultiHechos.EntFiltroPeriodos { PeriodoFechaInicial = "ISODate(\"2014-01-01T00:00:00Z\")", PeriodoFecha = "ISODate(\"2014-06-01T00:00:00Z\")" } }, ListaMedida = new List <EntFiltroBlockStoreMultiHechos.EntFiltroBlockStoreMedida> { new EntFiltroBlockStoreMultiHechos.EntFiltroBlockStoreMedida(), new EntFiltroBlockStoreMultiHechos.EntFiltroBlockStoreMedida { MedidaTipoMedidaNombre = "'MXN'" }, new EntFiltroBlockStoreMultiHechos.EntFiltroBlockStoreMedida { MedidaTipoMedidaNombre = "'USD'" } }, ListaConceptoDimension = new List <EntFiltroBlockStoreMultiHechos.EntFiltroConceptoDimension> { new EntFiltroBlockStoreMultiHechos.EntFiltroConceptoDimension { ConceptoId = "mx-ifrs-ics_UtilidadporFluctuacionCambiariaNeto" }, new EntFiltroBlockStoreMultiHechos.EntFiltroConceptoDimension { ConceptoId = "mx-ifrs-ics_UtilidadporCambiosValorRazonableInstrumentosFinancieros" } } }; var cadena = creaFiltros.crearCadenaFiltro(entFiltroMultiHechos); Debug.Write(cadena.Count); }