Пример #1
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();
        }
    }