public bool ResetWorkspaceDirectoryIfRequired() { if (this.IseIntegrator == null) { return(false); } var currentPath = this.IseIntegrator.SelectedFilePath; if (String.IsNullOrEmpty(currentPath) || currentPath == this.CurrentWorkspaceDirectory) { return(false); } if (!this.AutoUpdateRootDirectory && this.CurrentWorkspaceDirectory != null) { return(false); } string newRootDirectoryToSearch = RootDirectoryProvider.GetRootDirectoryToSearch(currentPath); if (newRootDirectoryToSearch == null || newRootDirectoryToSearch == this.CurrentWorkspaceDirectory || FileSystemOperationsService.IsSubdirectory(this.CurrentWorkspaceDirectory, newRootDirectoryToSearch) || !Directory.Exists(newRootDirectoryToSearch)) { return(false); } this.SetWorkspaceDirectory(newRootDirectoryToSearch); return(true); }
public ResetWorkspaceDirectoryCommand(IseIntegrator iseIntegrator, WorkspaceDirectoryModel workspaceDirectoryModel, RootDirectoryProvider rootDirectoryProvider, FileSystemOperationsService fileSystemOperationsService) { this.iseIntegrator = iseIntegrator; this.workspaceDirectoryModel = workspaceDirectoryModel; this.rootDirectoryProvider = rootDirectoryProvider; this.fileSystemOperationsService = fileSystemOperationsService; }