Microsoft.ManagementConsole.View.DoVerb C# (CSharp) Method

DoVerb() private method

private DoVerb ( RequestInfo requestInfo, IRequestStatus requestStatus ) : void
requestInfo Microsoft.ManagementConsole.Internal.RequestInfo
requestStatus IRequestStatus
return void
        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);
                    }
                }
            }
        }