private void RemoveWorkspace() { if ((SelectedWorkspaceIndex > Workspaces.Count - 1) || (SelectedWorkspaceIndex < 0)) { return; } if (Workspaces[SelectedWorkspaceIndex] == null) { return; } var dialogSettings = new MetroDialogSettings() { AffirmativeButtonText = "Yes", NegativeButtonText = "No", FirstAuxiliaryButtonText = "Cancel" }; Messenger.Default.Send(new ShowMessageDialogMessage($"Delete workspace {Workspaces[SelectedWorkspaceIndex].Name}", Resources.MainViewModel_RemoveWorkspace_Description, MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary, result => { if (result == MessageDialogResult.FirstAuxiliary) { return; } var deleteMode = result == MessageDialogResult.Affirmative ? DeleteMode.DeleteWorkspace : DeleteMode.KeepWorkspace; if ((SelectedWorkspace != null) && SelectedWorkspace.Workspace.Equals(Workspaces[SelectedWorkspaceIndex].Workspace)) { SelectedWorkspace = null; } var workspace = Workspaces[SelectedWorkspaceIndex].Workspace; WorkspaceManagement.RemoveWorkspace(workspace, deleteMode); Workspaces.RemoveAt(SelectedWorkspaceIndex); Logger.Debug("Removed workspace {0} - deleteMode: {1}", workspace.Name, deleteMode); }, dialogSettings)); }
private void RemoveWorkspace(WorkspaceViewModel workspaceViewModel) { var dialogSettings = new MetroDialogSettings { AffirmativeButtonText = Resources.Yes, NegativeButtonText = Resources.No, FirstAuxiliaryButtonText = Resources.Cancel }; Messenger.Default.Send( new ShowMessageDialogMessage( string.Format(Resources.MainViewModel_RemoveWorkspace_Title, workspaceViewModel.Name), Resources.MainViewModel_RemoveWorkspace_Description, MessageDialogStyle.AffirmativeAndNegativeAndSingleAuxiliary, result => { if (result == MessageDialogResult.FirstAuxiliary) { return; } var deleteMode = result == MessageDialogResult.Affirmative ? DeleteMode.DeleteWorkspace : DeleteMode.KeepWorkspace; var workspace = workspaceViewModel.Workspace; if ((SelectedWorkspace != null) && SelectedWorkspace.Workspace.Equals(workspace)) { SelectedWorkspace = null; } WorkspaceManagement.RemoveWorkspace(workspace, deleteMode); Workspaces.Remove(workspaceViewModel); Logger.Debug("Removed workspace {0} - deleteMode: {1}", workspace.Name, deleteMode); }, dialogSettings)); }