Пример #1
0
    public async Task <bool> MoveToTrashAsync(IReadOnlyList <string> nodes, CancellationToken cancellationToken)
    {
        cancellationToken.ThrowIfCancellationRequested();

        var volume = GetVolume(nodes);

        await PrepareAsync(nodes);

        var trashCanLocations = GetTrashCanLocations(volume);
        var result            = false;

        foreach (var trashCanLocation in trashCanLocations)
        {
            cancellationToken.ThrowIfCancellationRequested();

            var filesTrashCanLocation      = GetFilesTrashCanLocation(trashCanLocation); // TODO: create if not exists?
            var destinationPathsDictionary = GetFilesTrashCanPathsMapping(nodes, filesTrashCanLocation);
            await _operationsService.MoveAsync(destinationPathsDictionary);

            await WriteMetaDataAsync(destinationPathsDictionary, trashCanLocation);

            result = true;

            break;
        }

        await CleanupAsync();

        return(result);
    }
    public async Task MoveFilesAsync(IReadOnlyList <string> files, string fullPath)
    {
        var targetDirectory = ExtractDirectory(fullPath);
        var filteredFiles   = Filter(files, targetDirectory);

        if (filteredFiles.Any())
        {
            await _operationsService.MoveAsync(filteredFiles, targetDirectory);
        }
    }
Пример #3
0
        private async Task <bool> TryMoveToTrashAsync(IReadOnlyDictionary <string, string> files)
        {
            try
            {
                await _operationsService.MoveAsync(files);
            }
            catch
            {
                return(false);
            }

            // TODO: check results in future
            return(true);
        }
Пример #4
0
 private void Move() => Execute(() => _operationsService.MoveAsync(GetSelectedNodes(),
                                                                   _filesOperationsMediator.OutputDirectory));
Пример #5
0
 public Task MoveAsync(string filePath) =>
 _operationsService.MoveAsync(CreateFilesList(filePath), _filesOperationsMediator.OutputDirectory);
Пример #6
0
 private Task MoveAsync() => _operationsService.MoveAsync(Files, _filesOperationsMediator.OutputDirectory);
Пример #7
0
 private Task MoveAsync() => _operationsService.MoveAsync(GetSelectedFiles(),
                                                          _filesOperationsMediator.OutputDirectory);
Пример #8
0
 public Task MoveFilesAsync(IReadOnlyList <string> files, string fullPath) =>
 _operationsService.MoveAsync(files, ExtractDirectory(fullPath));