/// <inheritdoc/> public async Task <IBackgroundTransfer> CreateAsync(IUnixDirectoryEntry targetDirectory, string fileName, Stream data, CancellationToken cancellationToken) { var targetFolderItem = ((OneDriveDirectoryEntry)targetDirectory).Item; var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken); var targetId = GetFileId(targetFolderItem.Id, fileName); var backgroundUploads = new BackgroundUpload(targetId, targetFolderItem.Id, fileName, tempData, this); await _uploadsLock.WaitAsync(cancellationToken); try { var fileId = GetFileId(targetFolderItem.Id, fileName); _uploads.Add(fileId, backgroundUploads); } finally { _uploadsLock.Release(); } return(backgroundUploads); }
/// <inheritdoc/> public async Task <IBackgroundTransfer> ReplaceAsync(IUnixFileEntry fileEntry, Stream data, CancellationToken cancellationToken) { var fileItem = ((OneDriveFileEntry)fileEntry).Item; var parentId = fileItem.ParentReference.Id; var fileName = fileItem.Name; var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken); var targetId = GetFileId(parentId, fileName); var backgroundUploads = new BackgroundUpload(targetId, parentId, fileName, tempData, this); await _uploadsLock.WaitAsync(cancellationToken); try { var fileId = GetFileId(parentId, fileName); _uploads.Add(fileId, backgroundUploads); } finally { _uploadsLock.Release(); } return(backgroundUploads); }
/// <inheritdoc/> public async Task<IBackgroundTransfer> ReplaceAsync(IUnixFileEntry fileEntry, Stream data, CancellationToken cancellationToken) { var fileItem = ((OneDriveFileEntry)fileEntry).Item; var parentId = fileItem.ParentReference.Id; var fileName = fileItem.Name; var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken); var targetId = GetFileId(parentId, fileName); var backgroundUploads = new BackgroundUpload(targetId, parentId, fileName, tempData, this); await _uploadsLock.WaitAsync(cancellationToken); try { var fileId = GetFileId(parentId, fileName); _uploads.Add(fileId, backgroundUploads); } finally { _uploadsLock.Release(); } return backgroundUploads; }
/// <inheritdoc/> public async Task<IBackgroundTransfer> CreateAsync(IUnixDirectoryEntry targetDirectory, string fileName, Stream data, CancellationToken cancellationToken) { var targetFolderItem = ((OneDriveDirectoryEntry)targetDirectory).Item; var tempData = await _supportFactory.CreateTemporaryData(data, cancellationToken); var targetId = GetFileId(targetFolderItem.Id, fileName); var backgroundUploads = new BackgroundUpload(targetId, targetFolderItem.Id, fileName, tempData, this); await _uploadsLock.WaitAsync(cancellationToken); try { var fileId = GetFileId(targetFolderItem.Id, fileName); _uploads.Add(fileId, backgroundUploads); } finally { _uploadsLock.Release(); } return backgroundUploads; }