private void DoVerb(RequestInfo requestInfo, IRequestStatus requestStatus) { if (requestInfo is CutOrMoveViewSelectionRequestInfo) { CutOrMoveViewSelectionRequestInfo info = (CutOrMoveViewSelectionRequestInfo) requestInfo; AuxiliarySelectionData data = this.ClipboardSelectionDatas[info.SelectionId]; if (data != null) { this.OnCut(data.SelectionObject, new AsyncStatus(requestStatus)); } else { TraceSources.ExecutiveSource.TraceEvent(TraceEventType.Warning, 12, "Request CutOrMove in view {0} ignore since selection id {1} could not be found.", new object[] { this._viewInstanceId, info.SelectionId }); } } else { int selectionId = ((ViewSelectionRequestInfo) requestInfo).SelectionId; if ((this.SelectionData.SelectionCardinality == SelectionCardinality.None) || (selectionId != this.SelectionData.Id)) { TraceSources.ExecutiveSource.TraceEvent(TraceEventType.Warning, 12, "Request {0} in view {1} selection id {2} ignored since selection has changed.", new object[] { requestInfo.GetType().FullName, this._viewInstanceId, selectionId }); } else if (requestInfo is DeleteViewSelectionRequestInfo) { this.OnDelete(new SyncStatus(requestStatus)); } else if (requestInfo is RefreshViewSelectionRequestInfo) { this.OnRefresh(new AsyncStatus(requestStatus)); } else if (requestInfo is PrintViewSelectionRequestInfo) { this.OnPrint(new SyncStatus(requestStatus)); } else if (requestInfo is RenameViewSelectionRequestInfo) { this.OnRename(((RenameViewSelectionRequestInfo) requestInfo).NewDisplayName, new SyncStatus(requestStatus)); } else if (requestInfo is PasteViewSelectionRequestInfo) { PasteViewSelectionRequestInfo info2 = (PasteViewSelectionRequestInfo) requestInfo; SharedData sharedData = new SharedData(info2.DataObjectId); this.ScopeNode.SnapIn.AddSharedData(sharedData); sharedData.SetSnapInPlatform(this.ScopeNode.SnapIn.SnapInClient.SnapInPlatform); PasteResponse response = new PasteResponse(); try { response.AcceptPaste = this.OnPaste(sharedData, (Microsoft.ManagementConsole.DragAndDropVerb) info2.PasteType, new SyncStatus(requestStatus)); requestStatus.ProcessResponse(response); } finally { this.ScopeNode.SnapIn.RemoveSharedData(sharedData); } } } }