private void DispatchCallback(CloudOperationResponse<bool> response)
 {
     if (this.uploadFinishedCallback != null)
     {
         if (this.dispatcher != null)
             this.dispatcher.BeginInvoke(() => this.uploadFinishedCallback(response));
         else
             this.uploadFinishedCallback(response);
     }
 }
        private void HandleQueueCreationResult(ICloudQueue currentQueue, CloudOperationResponse<bool> creationResult)
        {
            if (creationResult.Response)
            {
                this.CloudQueues.Add(currentQueue);
                this.HasResults = true;
                this.Message = "Changes saved successfully.";
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", creationResult.Exception.Message);
            }

            this.IsLoading = false;
        }
        private void HandleQueueDeletionResult(ICloudQueue currentQueue, CloudOperationResponse<bool> deletionResult)
        {
            if (deletionResult.Response)
            {
                var listedQueue = this.CloudQueues.Where(q => q.Name.Equals(currentQueue.Name, StringComparison.InvariantCulture)).SingleOrDefault();
                if (listedQueue != null)
                {
                    this.CloudQueues.Remove(listedQueue);
                    this.Message = "Changes saved successfully.";
                }
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", deletionResult.Exception.Message);
            }

            this.IsLoading = false;
        }
        private void HandleQueueListResult(CloudOperationResponse<IEnumerable<ICloudQueue>> result)
        {
            if (result.Exception == null)
            {
                this.CloudQueues.Clear();
                foreach (var queue in result.Response)
                {
                    this.CloudQueues.Add(queue);
                }

                this.HasResults = this.CloudQueues.Count > 0;
                this.Message = "Listing finished successfully.";
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", result.Exception.Message);
            }

            this.IsLoading = false;
        }
        private void UpdateListBlobs(CloudOperationResponse<IEnumerable<ICloudBlobContainer>> result)
        {
            if (result.Exception == null)
            {
                if (this.ContainerNames != null)
                {
                    this.ContainerNames.Clear();
                }

                foreach (var container in result.Response)
                {
                    this.ContainerNames.Add(container.Name);
                }
            }
        }
 protected virtual void DispatchCallback(Action<CloudOperationResponse<bool>> callback, CloudOperationResponse<bool> response)
 {
     if (callback != null)
     {
         if (this.dispatcher != null)
             this.dispatcher.BeginInvoke(() => callback(response));
         else
             callback(response);
     }
 }
        private void UpdateContainerNames(CloudOperationResponse<IEnumerable<ICloudBlobContainer>> result)
        {
            if (result.Exception == null)
            {
                var containerName = this.ContainerName;
                if (this.ContainerNames != null)
                {
                    this.ContainerNames.Clear();
                }

                foreach (var container in result.Response)
                {
                    this.ContainerNames.Add(container.Name);
                }

                if (this.ContainerNames.Contains(containerName))
                {
                    this.ContainerName = containerName;
                }
                else
                {
                    this.ContainerName = this.ContainerNames.FirstOrDefault();
                }

                this.Message = "Listing finished successfully.";
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", result.Exception.Message);
            }

            this.IsListing = false;
        }
        private void UpdateListBlobs(CloudOperationResponse<IEnumerable<ICloudBlob>> result)
        {
            if (result.Exception == null)
            {
                this.CloudBlobs.Clear();
                foreach (var blob in result.Response)
                {
                    this.CloudBlobs.Add(blob);
                }

                this.HasResults = this.CloudBlobs.Count > 0;
                this.Message = "Listing finished successfully.";
            }
            else
            {
                this.Message = string.Format(CultureInfo.InvariantCulture, "Error: {0}", result.Exception.Message);
            }

            this.IsListing = false;
        }