private void LoadAccounts()
        {
            var nodes = _accountDirectory.GetRootNodes();
            var root  = new List <TreeNodeViewModel>();

            foreach (var node in nodes)
            {
                var vm = node switch
                {
                    CosmosAccount account =>
                    (TreeNodeViewModel)_viewModelFactory.CreateAccountNode(
                        account,
                        _accountContextFactory.Create(account),
                        null),
                    CosmosAccountFolder folder => (TreeNodeViewModel)_viewModelFactory.CreateAccountFolderNode(folder, null),
                    _ => throw new Exception("Invalid node type")
                };
                root.Add(vm);
            }
            foreach (var c in root.OrderByDescending(n => n is AccountFolderNodeViewModel)
                     .ThenBy(c => c.Text))
            {
                RootNodes.Add(c);
            }
        }
Ejemplo n.º 2
0
        private void LoadAccounts()
        {
            var nodes = _accountDirectory.GetRootNodes();

            foreach (var node in nodes)
            {
                var vm = node switch
                {
                    CosmosAccount account =>
                    (TreeNodeViewModel)_viewModelFactory.CreateAccountNode(
                        account,
                        _accountContextFactory.Create(account),
                        null),
                    CosmosAccountFolder folder => (TreeNodeViewModel)_viewModelFactory.CreateAccountFolderNode(folder, null),
                    _ => throw new Exception("Invalid node type")
                };

                RootNodes.Add(vm);
            }
        }