Esempio n. 1
0
 private async void OnLoaded(object sender, RoutedEventArgs e)
 {
     if (_operation != null)
     {
         Status = await RunOperationAsync();
     }
 }
Esempio n. 2
0
        private async Task <ConsoleWindowStatus> RunOperationAsync()
        {
            using (_cts = new CancellationTokenSource())
            {
                try
                {
                    Status = ConsoleWindowStatus.Running;
                    var result = await _operation(this, _cts.Token);

                    if (result == ExitCodes.Succeeded)
                    {
                        return(ConsoleWindowStatus.Succeeded);
                    }
                    else
                    {
                        return(ConsoleWindowStatus.Failed);
                    }
                }
                catch (OperationCanceledException)
                {
                    this.ReportLine(UserMessages.ConsoleWindow_OperationCancelled);
                    return(ConsoleWindowStatus.Failed);
                }
                catch (Exception ex)
                {
                    this.ReportLine(UserMessages.ConsoleWindow_OperationFaulted);
                    Report(ex.Message);
                    return(ConsoleWindowStatus.Failed);
                }
            }
        }
Esempio n. 3
0
 private void Cancel()
 {
     if (Status == ConsoleWindowStatus.Running)
     {
         Status = ConsoleWindowStatus.Cancelling;
         _cts.Cancel();
     }
 }