Exemple #1
0
        private static OverwriteOptionsDialogViewModel Create(bool areMultipleFilesAvailable = true)
        {
            var fileServiceMock = new Mock <IFileService>();

            fileServiceMock
            .Setup(m => m.GetFile(It.IsAny <string>()))
            .Returns <string>(s => new FileModel {
                FullPath = s, Name = s
            });
            var fileSystemNodeViewModelFactory = new Mock <IFileSystemNodeViewModelFactory>();

            fileSystemNodeViewModelFactory
            .Setup(m => m.Create(It.IsAny <FileModel>()))
            .Returns <FileModel>(fm =>
            {
                var mock = new Mock <IFileSystemNodeViewModel>();
                mock
                .SetupGet(m => m.FullPath)
                .Returns(fm.FullPath);

                return(mock.Object);
            });
            var fileNameGenerationService = new Mock <IFileNameGenerationService>();
            var pathService = new Mock <IPathService>();

            pathService
            .Setup(m => m.GetParentDirectory(DestinationFilePath))
            .Returns(ParentDirectory);
            pathService
            .Setup(m => m.Combine(ParentDirectory, NewFileName))
            .Returns(NewFilePath);
            pathService
            .Setup(m => m.GetFileName(ParentDirectory))
            .Returns(ParentDirectoryName);

            var dialog = new OverwriteOptionsDialogViewModel(
                fileServiceMock.Object, fileSystemNodeViewModelFactory.Object,
                fileNameGenerationService.Object, pathService.Object);

            var parameter = new OverwriteOptionsNavigationParameter(SourceFilePath, DestinationFilePath, areMultipleFilesAvailable);

            dialog.Activate(parameter);

            return(dialog);
        }
Exemple #2
0
    private async Task ProcessBlockedOperationAsync(IOperation operation)
    {
        var(sourceFilePath, destinationFilePath) = operation.CurrentBlockedFile;
        var areMultipleFilesAvailable = operation.Info.TotalFilesCount > 1;
        var navigationParameter       = new OverwriteOptionsNavigationParameter(
            sourceFilePath, destinationFilePath, areMultipleFilesAvailable);

        var dialogResult = await _dialogService.ShowDialogAsync <OverwriteOptionsDialogResult, OverwriteOptionsNavigationParameter>(
            nameof(OverwriteOptionsDialogViewModel), navigationParameter);

        if (dialogResult is null)
        {
            Task.Run(operation.CancelAsync).Forget();
        }
        else
        {
            Task.Run(() => operation.ContinueAsync(dialogResult.Options)).Forget();
        }
    }