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>();
            }
        }