Exemple #1
0
        private async Task SaveSelectedBlobContent(BlobListItem selectedBlob)
        {
            var contentText = selectedBlob.LocalBlobContent;

            if (!IsJsonValid(contentText))
            {
                await ShowDialogToUser("Json format is invalid.");

                return;
            }

            try
            {
                InfoMessageText.Text = "Working ...";
                await _storageClient.UploadDataToBlobAsync(selectedBlob.Blob, selectedBlob.LocalBlobContent);

                selectedBlob.CloudBlobContent = selectedBlob.LocalBlobContent;
                selectedBlob.Saved            = true;
                await ShowMessageToUser($"Blob {selectedBlob.Blob.Name} content have been saved.");
            }
            catch (Exception ex)
            {
                InfoMessageText.Text = "";
                await ShowDialogToUser(ex.Message);
            }
        }
Exemple #2
0
        private async Task PopulateBlob(BlobListItem selectedBlob, bool fromStorage)
        {
            DisableSelection();
            try
            {
                InfoMessageText.Text = "Working ...";
                BlobNameTxt.Text     = selectedBlob.Blob.Name;
                var blobData = await _storageClient.GetDataFromBlobAsync(selectedBlob.Blob);

                if (fromStorage)
                {
                    selectedBlob.LocalBlobContent = blobData;
                    selectedBlob.CloudBlobContent = blobData;
                    BlobContentTxt.Text           = blobData;
                }
                else
                {
                    BlobContentTxt.Text = selectedBlob.LocalBlobContent;
                }
                ShowBlobControls();
            }
            catch (Exception ex)
            {
                await ShowDialogToUser(ex.Message);
            }

            InfoMessageText.Text = "";
            EnableSelection();
        }
Exemple #3
0
        private async void DeleteBlob(BlobListItem selectedBlob)
        {
            try
            {
                InfoMessageText.Text = "Working ...";
                await _storageClient.RemoveBlobAsync(selectedBlob.Blob);

                _blobListViewItems.Remove(selectedBlob);

                HideBlobControls();

                await ShowMessageToUser($"Blob \"{selectedBlob.Blob.Name}\" have been deleted.");
            }
            catch (Exception ex)
            {
                await ShowDialogToUser(ex.Message);
            }
        }
Exemple #4
0
        private async void AddBlobButton_Click(object sender, RoutedEventArgs e)
        {
            DisableSelection();
            try
            {
                var newBlobDialog = new NewBlobDialog(
                    new ObservableCollection <CloudBlockBlob>(_blobListViewItems.Select(x => x.Blob)));

                var dialogResults = await newBlobDialog.ShowAsync();

                if (dialogResults == ContentDialogResult.Secondary)
                {
                    InfoMessageText.Text = "Working ...";

                    var newBlob = new BlobListItem
                    {
                        Blob = await _storageClient.AddBlobAsync(
                            (CloudBlobContainer)ContainerDropBox.SelectedItem, newBlobDialog.BlobName, "")
                    };

                    _blobListViewItems.Add(newBlob);
                    OnPropertyChanged(nameof(_blobListViewItems));

                    EnableSelection();

                    BlobListView.SelectedItem = newBlob;
                    await ShowMessageToUser($"Blob \"{newBlob.Blob.Name}\" have been created.");
                }
                EnableSelection();
            }
            catch (Exception ex)
            {
                InfoMessageText.Text = "";
                await ShowDialogToUser(ex.Message);

                EnableSelection();
            }
        }