public DownloadingWindow()

in JetBrains.Etw.HostService.Updater/src/Views/DownloadingWindow.xaml.cs [24:67]


    public DownloadingWindow([NotNull] Util.ILogger logger, [NotNull] UpdateRequest updateRequest, bool downloadDelay = false)
    {
      if (updateRequest == null) throw new ArgumentNullException(nameof(updateRequest));
      myLogger = logger ?? throw new ArgumentNullException(nameof(logger));

      InitializeComponent();
      var viewModel = new DownloadingViewModel();
      DataContext = viewModel;

      var deactivateSystemCloseButton = true;
      Closing += (_, args) =>
        {
          args.Cancel = deactivateSystemCloseButton;
          myCancellationTokenSource.Cancel();
        };

      var loggerContext = Logger.Context;

      async void DoAsync()
      {
        try
        {
          myMsiFile = await Task.Run(() => DownloadAndVerifyMsi(logger, updateRequest, viewModel, myCancellationTokenSource.Token, downloadDelay), myCancellationTokenSource.Token);
          logger.Info($"{loggerContext} res=downloaded");
        }
        catch (OperationCanceledException)
        {
          logger.Info($"{loggerContext} res=cancelled");
        }
        catch (Exception ex)
        {
          logger.Info($"{loggerContext} res=error");
          logger.Exception(ex);
          MessageBox.Show(ex.GetBaseException().Message, "Error", MessageBoxButton.OK, MessageBoxImage.Error);
        }
        finally
        {
          deactivateSystemCloseButton = false;
          DialogResult = myMsiFile != null;
        }
      }

      DoAsync();
    }