Microsoft.WindowsAzure.Commands.Storage.Blob.RemoveStorageAzureBlobCommand.ExecuteCmdlet C# (CSharp) Method

ExecuteCmdlet() private method

private ExecuteCmdlet ( ) : void
return void
        public override void ExecuteCmdlet()
        {
            Func<long, Task> taskGenerator = null;
            IStorageBlobManagement localChannel = Channel;

            string action = "Remove blob";
            if (deleteSnapshot)
            {
                action = "Remove snapshots of blob";
            }
            else if (force)
            {
                action = "Remove blob and snapshots";
            }

            string blobName = BlobName;
            if (ParameterSetName == BlobPipelineParameterSet)
            {
                blobName = CloudBlob.Name;
            }

            if (ShouldProcess(blobName, action))
            { 
                switch (ParameterSetName)
                {
                    case BlobPipelineParameterSet:
                        CloudBlob localBlob = CloudBlob;
                        taskGenerator = (taskId) => RemoveAzureBlob(taskId, localChannel, localBlob, false);
                        break;

                    case ContainerPipelineParameterSet:
                        CloudBlobContainer localContainer = CloudBlobContainer;
                        string localName = BlobName;
                        taskGenerator = (taskId) => RemoveAzureBlob(taskId, localChannel, localContainer, localName);
                        break;

                    case NameParameterSet:
                    default:
                        string localContainerName = ContainerName;
                        string localBlobName = BlobName;
                        taskGenerator = (taskId) => RemoveAzureBlob(taskId, localChannel, localContainerName, localBlobName);
                        break;
                }
                RunTask(taskGenerator);
            }
        }
    }