private void OnRenameFolderClick(object window) { var folderNameDialogAdapter = this.dialogFactory.GetFolderNameDialog(); FolderNameDialogResult result = folderNameDialogAdapter.ShowDialog(); if (result.DialogOperationResult == true) { string newFolderName = result.FolderName; string newFullPath = Path.Combine(Path.GetDirectoryName(selectDirectoryItem.FullPath), newFolderName); if (string.Equals(selectDirectoryItem.FullPath, newFullPath)) { return; } try { this.iOWrapper.DirectoryMove(selectDirectoryItem.FullPath, newFullPath); selectDirectoryItem.FullPath = newFullPath; } catch (Exception ex) { var messageWindow = this.dialogFactory.GetMessageBoxWindow(); messageWindow.ShowDialog(ex.Message, messageManager.GetMessage("ArasVSMethodPlugin"), MessageButtons.OK, MessageIcon.Error); } } }
private void OnNewFolderClick(object window) { var folderNameDialogAdapter = this.dialogFactory.GetFolderNameDialog(); FolderNameDialogResult result = folderNameDialogAdapter.ShowDialog(); if (result.DialogOperationResult == true) { string folderName = result.FolderName; string newFolderPath = Path.Combine(selectDirectoryItem.FullPath, folderName); int index = 1; while (this.iOWrapper.DirectoryExists(newFolderPath)) { newFolderPath = Path.Combine(selectDirectoryItem.FullPath, $"{folderName} {index}"); index++; } this.iOWrapper.DirectoryCreateDirectory(newFolderPath); if (selectDirectoryItem.IsExpanded) { var childViewModel = new DirectoryItemViewModel(newFolderPath, DirectoryItemType.Folder, searchToLevel); childViewModel.Parent = selectDirectoryItem; childViewModel.SelectDirectoryItem += OnSelectDirectoryItem; selectDirectoryItem.Children.Add(childViewModel); selectDirectoryItem.Children = new ObservableCollection <DirectoryItemViewModel>(selectDirectoryItem.Children.OrderBy(x => x.Name)); selectDirectoryItem.IsSelected = false; childViewModel.IsSelected = true; } else { selectDirectoryItem.IsExpanded = true; var childViewModel = selectDirectoryItem.Children.FirstOrDefault(x => x.FullPath == newFolderPath); if (childViewModel != null) { selectDirectoryItem.IsSelected = false; childViewModel.IsSelected = true; } } } }