예제 #1
0
        public void SaveWorkspace()
        {
            if (!_isSolutionOpened)
            {
                return;
            }

            if (string.IsNullOrEmpty(SelectedWorkspace))
            {
                WorkspaceLogger.Log.Info("Selected workspace is empty");
                return;
            }
            if (_repository.IsExist(SelectedWorkspace))
            {
                if (VsShellUtilities.ShowMessageBox(_serviceProvider,
                                                    $"Do you want to overwrite the '{SelectedWorkspace}' workspace?",
                                                    "Workspace Manager",
                                                    OLEMSGICON.OLEMSGICON_QUERY,
                                                    OLEMSGBUTTON.OLEMSGBUTTON_YESNO,
                                                    OLEMSGDEFBUTTON.OLEMSGDEFBUTTON_SECOND) != 6)
                {
                    return;
                }

                var updateitems = GetWorkspaceItem();
                _repository.UpdateWorkspace(SelectedWorkspace, updateitems.Item1, updateitems.Item2);
            }
            else
            {
                var items = GetWorkspaceItem();
                _repository.SaveWorkspace(SelectedWorkspace, items.Item1, items.Item2);
            }
            _workspaces = _repository.GetWorkspaces();
        }