private OperationNodeViewModel(OperationNode node, OperationNodeViewModel parent) { this._node = node; this._parent = parent; this._children = new ReadOnlyCollection<OperationNodeViewModel>( (from child in _node.Children select new OperationNodeViewModel(child, this)) .ToList<OperationNodeViewModel>()); }
public TreeViewModel(OperationNode rootNode) { if (rootNode == null) { throw new ArgumentNullException("rootNode"); } this.SelectedNodeDoubleClickedCommand = new RelayCommand<OperationNodeViewModel>(this.Changed); this._rootViewModel = new OperationNodeViewModel(rootNode); this.FirstGenerationChildren = this._rootViewModel.Children; }
public OperationNodeViewModel(OperationNode person) : this(person, null) { }
private OperationNode CreateParentNode(string parentTitle, OperationType operationType, IList<string> childrenNodes) { OperationNode parentNode = new OperationNode(parentTitle, OperationType.None); if (childrenNodes != null && childrenNodes.Count() > 0) { foreach (string table in childrenNodes) { parentNode.Children.Add(new OperationNode(table, operationType)); } } return parentNode; }
private void OnSaveCompleted(IDatabaseProvider provider) { this._provider = provider ; this._provider.Init(); OperationNode tableParentNode = CreateParentNode("Tables", OperationType.Table, this._provider.TableNames); OperationNode viewParentNode = CreateParentNode("Views", OperationType.View, this._provider.ViewNames); OperationNode procedureParentNode = CreateParentNode("Procedures", OperationType.Procedure, this._provider.ProcedureNames); OperationNode node = new OperationNode("ParentNode", OperationType.None); node.Children.Add(tableParentNode); node.Children.Add(viewParentNode); node.Children.Add(procedureParentNode); TreeViewModel viewModel = new TreeViewModel(node); this.FirstGenerationChildren = viewModel.FirstGenerationChildren; }