示例#1
0
        String GetHierarchy(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));
            HierarchyInfo        info     = provider.GetHierarchy(args.CubeName, args.DimensionUniqueName, args.HierarchyUniqueName);

            return(XmlSerializationUtility.Obj2XmlStr(info, Common.Namespace));
        }
示例#2
0
        String GetHierarchies(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            Dictionary <String, HierarchyInfo> list = provider.GetHierarchies(args.CubeName, args.DimensionUniqueName);

            return(XmlSerializationUtility.Obj2XmlStr(list.Values.ToList(), Common.Namespace));
        }
示例#3
0
        String GetCubes(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            Dictionary <String, CubeDefInfo> list = provider.GetCubes();

            return(XmlSerializationUtility.Obj2XmlStr(list.Values.ToList(), Common.Namespace));
        }
示例#4
0
        String GetCubeMetadata(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            CubeDefInfo info = provider.GetCubeMetadata(args.CubeName, args.QueryType);

            return(XmlSerializationUtility.Obj2XmlStr(info, Common.Namespace));
        }
示例#5
0
        String GetMeasureGroups(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            List <MeasureGroupInfo> list = provider.GetMeasureGroups(args.CubeName);

            return(XmlSerializationUtility.Obj2XmlStr(list, Common.Namespace));
        }
示例#6
0
        String GetLevelProperties(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            // Делать коллекцию с ключем "Имя свойства" нельзя, т.к. свойства KEY1, KEY2 и т.д. есть не у всех уровней и например в контроле выбора элемента измерения при построении уловия поиска придется проверять для каких уровней они есть, а для каких нету
            List <LevelPropertyInfo> list = new List <LevelPropertyInfo>();

            if (String.IsNullOrEmpty(args.LevelUniqueName))
            {
                Dictionary <String, LevelInfo> levels = provider.GetLevels(args.CubeName, args.DimensionUniqueName, args.HierarchyUniqueName);
                foreach (LevelInfo li in levels.Values)
                {
                    Dictionary <String, LevelPropertyInfo> properties = provider.GetLevelProperties(args.CubeName,
                                                                                                    args.DimensionUniqueName,
                                                                                                    args.HierarchyUniqueName,
                                                                                                    li.UniqueName);
                    foreach (LevelPropertyInfo pi in properties.Values)
                    {
                        list.Add(pi);
                    }
                }
            }
            else
            {
                Dictionary <string, LevelPropertyInfo> properties = provider.GetLevelProperties(args.CubeName,
                                                                                                args.DimensionUniqueName,
                                                                                                args.HierarchyUniqueName,
                                                                                                args.LevelUniqueName);
                foreach (LevelPropertyInfo pi in properties.Values)
                {
                    list.Add(pi);
                }
            }

            return(XmlSerializationUtility.Obj2XmlStr(list, Common.Namespace));
        }