public async Task <MediaFolder> Handle(CreateFolderCommand request, CancellationToken cancellationToken)
        {
            var parentDirectory = _repository.GetMediaDirectoryReference(request.ParentFolderId);
            var newDirectory    = await _repository.CreateDirectory(request.FolderName, parentDirectory);

            return(_folderConverter.ConvertToMediaFolder(newDirectory));
        }
        public async Task <IEnumerable <MediaFolder> > GetChildrenDirectories(CloudBlobDirectory directory)
        {
            var blobs = new List <MediaFolder>();
            BlobContinuationToken continuationToken = null;

            do
            {
                var result = await directory.ListBlobsSegmentedAsync(continuationToken);

                blobs.AddRange(result.Results
                               .Where(x => x is CloudBlobDirectory)
                               .Select(x => _mediaFolderConverter.ConvertToMediaFolder((CloudBlobDirectory)x)));
                continuationToken = result.ContinuationToken;
            }while (continuationToken != null);

            return(blobs);
        }
Example #3
0
        public async Task <MediaFolder> Handle(CreateRootFolderCommand request, CancellationToken cancellationToken)
        {
            var rootContainer = await _repository.MediaContainer();

            var newContainer = await _repository.CreateDirectory(request.FolderName, rootContainer);

            return(_folderConverter.ConvertToMediaFolder(newContainer));
        }