Ejemplo n.º 1
0
        /// <summary>
        ///		Crea un nuevo contenedor
        /// </summary>
        private async Task NewContainerAsync()
        {
            string container = string.Empty;

            if (SolutionViewModel.MainController.SystemController
                .ShowInputString("Introduzca el nombre del contenedor", ref container) == BauMvvm.ViewModels.Controllers.SystemControllerEnums.ResultType.Yes &&
                !string.IsNullOrWhiteSpace(container))
            {
                ICloudStorageManager manager = GetStorageManager();

                if (manager == null)
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione un sistema de almacenamiento en el árbol");
                }
                else
                {
                    try
                    {
                        // Crea el contenedor
                        await manager.CreateContainerAsync(container);

                        // Actualiza el árbol
                        Load();
                    }
                    catch (Exception exception)
                    {
                        SolutionViewModel.MainController.Logger.Default.LogItems.Error($"Error al crear el contenedor {container}", exception);
                    }
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        ///		Sube una lista de archivos
        /// </summary>
        private async Task UploadFilesAsync(List <string> files)
        {
            ICloudStorageManager manager = GetStorageManager();

            // Sube los archivos
            if (manager == null)
            {
                SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione una cuenta de almacenamiento");
            }
            else
            {
                (string container, bool isFolder, string remoteFileName) = GetStorageItems();

                if (string.IsNullOrWhiteSpace(container))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione un contenedor");
                }
                else
                {
                    // Sube los archivos
                    using (BlockLogModel block = SolutionViewModel.MainController.Logger.Default.CreateBlock(LogModel.LogType.Info, "Comienzo de la subida de archivos"))
                    {
                        // Sube cada archivo
                        foreach (string file in files)
                        {
                            if (!string.IsNullOrWhiteSpace(file) && System.IO.File.Exists(file))
                            {
                                string targetFile = System.IO.Path.GetFileName(file);

                                // Si es un directorio, añade el directorio
                                if (isFolder && !string.IsNullOrWhiteSpace(remoteFileName))
                                {
                                    targetFile = System.IO.Path.Combine(remoteFileName, targetFile);
                                }
                                else if (!isFolder && !string.IsNullOrWhiteSpace(remoteFileName))
                                {
                                    targetFile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(remoteFileName), targetFile);
                                }
                                // Log
                                block.Info($"Comienza la subida del archivo {file}");
                                // Sube el archivo
                                await manager.UploadAsync(container, targetFile, file);

                                // Log
                                block.Info($"Finaliza la subida del archivo {file}");
                            }
                        }
                        // Log
                        block.Info("Fin de la subida de archivos");
                    }
                    // Actualiza el árbol
                    Load();
                    // Log
                    SolutionViewModel.MainController.Logger.Flush();
                }
            }
        }
Ejemplo n.º 3
0
        /// <summary>
        ///		Descarga archivos
        /// </summary>
        private async Task DownloadAsync()
        {
            if (SolutionViewModel.MainController.DialogsController.OpenDialogSelectPath(string.Empty, out string path)
                == BauMvvm.ViewModels.Controllers.SystemControllerEnums.ResultType.Yes)
            {
                if (string.IsNullOrWhiteSpace(path) || !System.IO.Directory.Exists(path))
                {
                    SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione un directorio");
                }
                else
                {
                    ICloudStorageManager manager = GetStorageManager();

                    // Descarga el contenedor, archivo o directorio
                    if (manager == null)
                    {
                        SolutionViewModel.MainController.SystemController.ShowMessage("Seleccione una cuenta de almacenamiento");
                    }
                    else
                    {
                        // Descarga de archivos
                        using (BlockLogModel block = SolutionViewModel.MainController.Logger.Default.CreateBlock(LogModel.LogType.Info, "Comienza la descarga de archivos"))
                        {
                            // Descarga el contenedor, directorio o archivo
                            try
                            {
                                if (SelectedNode is NodeStorageContainerViewModel item)
                                {
                                    await DownloadFolderAsync(block, manager, path, item.Container, string.Empty);
                                }
                                else if (SelectedNode is NodeStorageContainerFileViewModel folder && folder.IsFolder)
                                {
                                    await DownloadFolderAsync(block, manager, path, folder.Blob.Blob.Container, System.IO.Path.GetDirectoryName(folder.Blob.Blob.FullFileName));
                                }
                                else if (SelectedNode is NodeStorageContainerFileViewModel file && !file.IsFolder)
                                {
                                    await DownloadFileAsync(block, manager, path, file.Blob.Blob.Container, file.Blob.Blob.FullFileName);
                                }
Ejemplo n.º 4
0
 public UploadExposureKeysCommandHandler(ICloudStorageManager storageManager)
 {
     this.storageManager = storageManager;
 }
Ejemplo n.º 5
0
        public void Setup()
        {
            var storage = CloudStorageAccount.Parse(configurationSection["CloudStorageConnectionString"]);

            manager = new CloudStorageManager(storage, "testcontainer");
        }