Пример #1
0
        private async void LoadGroups(bool preloadDatasets)
        {
            await Task.Run(() =>
            {
                DisplayStatus($"Loading groups...");
                var groups =
                    // from g in PowerBI_Tools.GetGroups()
                    from g in PowerBI_Tools.GetPbiGroups(null)
                    orderby g.Name
                    select g;

                if (preloadDatasets)
                {
                    foreach (var g in groups)
                    {
                        DisplayStatus($"Loading datasets for group {g.Name}...");
                        g.Group.Datasets = new BindableCollection <Dataset>(
                            from d in PowerBI_Tools.GetDatasets(g.Group)
                            orderby d.Name
                            select d
                            );
                    }
                    groups =
                        from g in groups
                        where g.Group.Datasets.Count > 0
                        orderby g.Name
                        select g;
                    DisplayStatus($"Loaded {groups.Count()} groups.", 3000);
                }

                // PbiMetadataBinding.PbiGroups = new BindableCollection<Group>(groups);
                PbiMetadataTreeBinding.PbiGroups = new BindableCollection <TreeViewPbiGroup>(groups);
            });
        }