public NodeMockViewModel Clone() { var cloneNode = new NodeMockViewModel(); cloneNode.Title = new TunelProperty <string>(this.Title.Value); var prmsCloneArray = this.Params.Select(x => new ParamViewModel { Key = new TunelProperty <string>(x.Key.Value), Value = new TunelProperty <string>(x.Value.Value) }); cloneNode.Params = new ObservableCollection <ParamViewModel>(prmsCloneArray); if (this.Children.Count() > 0) { var chldsArray = this.Children.Select(x => x.Clone()); cloneNode.Children = new ObservableCollection <NodeMockViewModel>(chldsArray); } return(cloneNode); }
public EditedNodeViewModel(NodeMockViewModel nodeViewModel) { this.nodeViewModel = nodeViewModel; this.clonedNodeViewModel = nodeViewModel.Clone(); }