public string AjaxFileBrowser(string name = "") { DiscountBlobContainer cont = new DiscountBlobContainer(); List<IListBlobItem> blobs = new List<IListBlobItem>(); if (name != "") { if (name.Contains("/")) { cont = BlobManagement.GetFolderForSerialization(name); blobs = BlobManagement.GetDirectoryBlobs(name); } else { cont = BlobManagement.GetContainer(name); blobs = BlobManagement.GetBlobs(name); } } else { cont = new DiscountBlobContainer { BlobCount = 0, Container = null, parent = null, uri = null, SubContainers = BlobManagement.GetContainers().Where(x => !hiddenContainers.Contains(x.Container.Name)).ToList<DiscountBlobContainer>() }; } List<BlobFile> files = new List<BlobFile>(); foreach (IListBlobItem blob in blobs) { if (!blob.GetType().Equals(typeof(CloudBlobDirectory))) { BlobFile bf = new BlobFile { uri = blob.Uri }; files.Add(bf); } } cont.files = files; return JsonConvert.SerializeObject(cont); }
internal static List<DiscountBlobContainer> GetContainers() { try { // Retrieve storage account from connection string CloudStorageAccount storageAccount = CloudStorageAccount.Parse(RoleEnvironment.GetConfigurationSettingValue("StorageConnectionString")); // Create the blobl client CloudBlobClient client = storageAccount.CreateCloudBlobClient(); List<CloudBlobContainer> cloudContainers = new List<CloudBlobContainer>(); List<DiscountBlobContainer> containers = new List<DiscountBlobContainer>(); cloudContainers = client.ListContainers().ToList<CloudBlobContainer>(); foreach (CloudBlobContainer con in cloudContainers) { List<IListBlobItem> blobs = GetBlobs(con.Name); List<BlobFile> files = new List<BlobFile>(); DiscountBlobContainer discountContainer = new DiscountBlobContainer { BlobCount = blobs.Count, Container = con, uri = con.Uri, SubContainers = GetSubContainers(con.Name) }; foreach (IListBlobItem blob in blobs) { if (!blob.GetType().Equals(typeof(CloudBlobDirectory))) { BlobFile bf = new BlobFile { uri = blob.Uri }; files.Add(bf); } } discountContainer.files = files; containers.Add(discountContainer); } return containers; } catch (Exception) { return new List<DiscountBlobContainer>(); } }