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); } }
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); } }