Exemple #1
0
        public CubeMetadata GetFullMetadata()
        {
            var cube = new CubeMetadata();

            if (ProgressStatusChanged != null)
                ProgressStatusChanged(this, new ProgressStatusEventArgs("Starting investigation ..."));

            using (var cmd = new PerspectiveDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            using (var cmd = new DimensionDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            using (var cmd = new HierarchyDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            using (var cmd = new LevelDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            using (var cmd = new PropertyDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            using (var cmd = new MeasureGroupDiscoveryCommand(ConnectionString))
            {
                var rows = cmd.Discover(null);
                cube.Import(rows);
                //cube.Link(rows);
            }
            using (var cmd = new MeasureDiscoveryCommand(ConnectionString))
                cube.Import(cmd.Discover(null));

            if (ProgressStatusChanged != null)
                ProgressStatusChanged(this, new ProgressStatusEventArgs("Cube investigated"));

            return cube;
        }