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);
        }
Beispiel #2
0
 public ResetWorkspaceDirectoryCommand(IseIntegrator iseIntegrator, WorkspaceDirectoryModel workspaceDirectoryModel, RootDirectoryProvider rootDirectoryProvider,
                                       FileSystemOperationsService fileSystemOperationsService)
 {
     this.iseIntegrator               = iseIntegrator;
     this.workspaceDirectoryModel     = workspaceDirectoryModel;
     this.rootDirectoryProvider       = rootDirectoryProvider;
     this.fileSystemOperationsService = fileSystemOperationsService;
 }