Ejemplo n.º 1
0
        private static List <MdxHierarchy> GetHierarhies(IMdxElement rows)
        {
            var allHierarchies = LinqExtendedDescendans.DescendansAllLayerBFS(
                rows,
                element => element is MdxHierarchy,
                element => element.GetChildren())
                                 .Cast <MdxHierarchy>()
                                 .ToList();

            return(allHierarchies);
        }
Ejemplo n.º 2
0
        //TODO: сделать internal
        public IEnumerable <MdxHierarchy> FindHierarchies()
        {
            var allHierarchies = LinqExtendedDescendans.DescendansAllLayerDFS(
                this as IMdxElement,
                element => element is MdxHierarchy,
                element => element.GetChildren())
                                 .Cast <MdxHierarchy>()
                                 .Reverse();

            return(allHierarchies);
        }
Ejemplo n.º 3
0
        //TODO: сделать internal

        private static Dictionary <string, List <IMdxElement> > GetWhereValues(IMdxElement whereMdx)
        {
            var allValues = LinqExtendedDescendans.DescendansAllLayerBFS(
                whereMdx,
                element => element.GetType() == typeof(MdxValueElement),
                element => element.GetChildren());

            var valuesByNames = allValues
                                .GroupBy(el => ((MdxValueElement)el).Name)
                                .ToDictionary(elements => elements.Key, elements => elements.ToList());

            return(valuesByNames);
        }