private Collection <File> GetFiles(FileSearchOptions searchOptions, BlobSasBuilder readPermissions) { List <File> files = new List <File>(); List <string> extensionsList = searchOptions.ExtensionsFilter == null ? new List <string>() : new List <string>(searchOptions.ExtensionsFilter); bool extensionsIsNotEmpty = extensionsList.Count > 0; var blobItems = GetBlockBlobs(Container, BlobPath, searchOptions.AllFiles); foreach (var blobItem in blobItems) { bool add = true; if (extensionsIsNotEmpty) { string extension = Path.GetExtension(blobItem.Name).ToLowerInvariant(); bool match = extensionsList.Contains(extension); add = (((!searchOptions.NegateExtensionsFilter) && match) || (searchOptions.NegateExtensionsFilter && (!match))); } if (add) { var blob = Container.GetBlobClient(blobItem.Name); File file = GetFileInfo(blob, readPermissions, blobItem.Properties); files.Add(file); } } files.Sort(CompareFilesByLastModifiedAndName); return(new Collection <File>(files)); }
public string[] GetFileNames(FileSearchOptions searchOptions) { List <string> names = new List <string>(); Collection <File> files = GetFiles(searchOptions); foreach (File file in files) { names.Add(file.Name); } return(names.ToArray()); }
public Collection <File> GetFiles(FileSearchOptions searchOptions, int readAccessExpiryTime) { return(GetFiles(searchOptions, CreateReadPermissions(readAccessExpiryTime))); }
public Collection <File> GetFiles(FileSearchOptions searchOptions) { return(GetFiles(searchOptions, ReadPermissions)); }