FubarDev.FtpServer.FileSystem.OneDrive.OneDriveFileSystem.MoveAsync C# (CSharp) Method

MoveAsync() public method

public MoveAsync ( IUnixDirectoryEntry parent, IUnixFileSystemEntry source, IUnixDirectoryEntry target, string fileName, CancellationToken cancellationToken ) : Task
parent IUnixDirectoryEntry
source IUnixFileSystemEntry
target IUnixDirectoryEntry
fileName string
cancellationToken System.Threading.CancellationToken
return Task
        public async Task<IUnixFileSystemEntry> MoveAsync(IUnixDirectoryEntry parent, IUnixFileSystemEntry source, IUnixDirectoryEntry target, string fileName, CancellationToken cancellationToken)
        {
            var sourceItem = ((OneDriveFileSystemEntry)source).Item;
            var sourceId = sourceItem.Id;
            var newParentItem = ((OneDriveDirectoryEntry)target).Item;
            var newParentRef = new ItemReference()
            {
                Id = newParentItem.Id,
            };
            _cache.Remove(GetFileId(sourceItem));
            var newItem = await Service.MoveAsync(Drive.Id, sourceId, fileName, newParentRef, cancellationToken);
            _cache.Set(GetFileId(newItem), newItem, _defaultCacheTimeSpan);
            return await ConvertToUnixFileSystemEntry(newItem, cancellationToken);
        }