/// <inheritdoc/>
        public virtual async Task <bool> ExistsFileAsync(string filename, CloudStorageCredentials credentials)
        {
            List <string> filenames = await ListFileNamesAsync(credentials);

            return(filenames.Contains(filename, StringComparer.InvariantCultureIgnoreCase));
        }
 /// <inheritdoc/>
 public abstract Task <List <string> > ListFileNamesAsync(CloudStorageCredentials credentials);
 /// <inheritdoc/>
 public abstract Task <byte[]> DownloadFileAsync(string filename, CloudStorageCredentials credentials);
 /// <inheritdoc/>
 public abstract Task DeleteFileAsync(string filename, CloudStorageCredentials credentials);
 /// <inheritdoc/>
 public abstract Task UploadFileAsync(string filename, byte[] fileContent, CloudStorageCredentials credentials);