void RunActionsWithProgressMonitor( ProgressMonitorStatusMessage progressMessage, IList <IPackageAction> installPackageActions, TaskCompletionSource <bool> taskCompletionSource, bool clearConsole, CancellationTokenSource cancellationTokenSource) { using (ProgressMonitor monitor = progressMonitorFactory.CreateProgressMonitor(progressMessage.Status, clearConsole, cancellationTokenSource)) { using (PackageManagementEventsMonitor eventMonitor = CreateEventMonitor(monitor, taskCompletionSource)) { try { monitor.BeginTask(null, installPackageActions.Count); RunActionsWithProgressMonitor(monitor, installPackageActions); eventMonitor.ReportResult(progressMessage); } catch (Exception ex) { RemoveInstallActions(installPackageActions); bool showPackageConsole = !monitor.CancellationToken.IsCancellationRequested; eventMonitor.ReportError(progressMessage, ex, showPackageConsole); } finally { monitor.EndTask(); GuiDispatch(() => { RemoveInstallActions(installPackageActions); packageManagementEvents.OnPackageOperationsFinished(); }); } } } }
void RunInternal() { progressMessage = CreateCheckingPackageCompatibilityMessage(); using (progressMonitor = CreateProgressMonitor()) { using (PackageManagementEventsMonitor eventMonitor = CreateEventMonitor(progressMonitor)) { try { CheckCompatibility(); } catch (Exception ex) { eventMonitor.ReportError(progressMessage, ex); } } } }
public void Run(ProgressMonitorStatusMessage progressMessage) { using (ProgressMonitor progressMonitor = CreateProgressMonitor(progressMessage)) { using (PackageManagementEventsMonitor eventMonitor = CreateEventMonitor(progressMonitor)) { try { RestorePackages(progressMonitor, progressMessage); } catch (Exception ex) { LoggingService.LogError(progressMessage.Error, ex); progressMonitor.Log.WriteLine(ex.Message); progressMonitor.ReportError(progressMessage.Error, null); progressMonitor.ShowPackageConsole(); progressMonitor.Dispose(); RestoreFailed = true; } } } }
void RunActionsWithProgressMonitor(ProgressMonitorStatusMessage progressMessage, IList <IPackageAction> installPackageActions) { using (IProgressMonitor monitor = progressMonitorFactory.CreateProgressMonitor(progressMessage.Status)) { using (PackageManagementEventsMonitor eventMonitor = CreateEventMonitor(monitor)) { try { monitor.BeginTask(null, installPackageActions.Count); RunActionsWithProgressMonitor(monitor, installPackageActions); eventMonitor.ReportResult(progressMessage); } catch (Exception ex) { RemoveInstallActions(installPackageActions); eventMonitor.ReportError(progressMessage, ex); } finally { monitor.EndTask(); GuiDispatch(() => { RemoveInstallActions(installPackageActions); packageManagementEvents.OnPackageOperationsFinished(); }); } } } }
void RunActionsWithProgressMonitor (ProgressMonitorStatusMessage progressMessage, IList<IPackageAction> installPackageActions) { using (IProgressMonitor monitor = progressMonitorFactory.CreateProgressMonitor (progressMessage.Status)) { using (var eventMonitor = new PackageManagementEventsMonitor (monitor, packageManagementEvents, PackageManagementServices.ProgressProvider)) { try { monitor.BeginTask (null, installPackageActions.Count); RunActionsWithProgressMonitor (monitor, installPackageActions); eventMonitor.ReportResult (progressMessage); } catch (Exception ex) { RemoveInstallActions (installPackageActions); eventMonitor.ReportError (progressMessage, ex); } finally { monitor.EndTask (); DispatchService.GuiDispatch (() => { RemoveInstallActions (installPackageActions); packageManagementEvents.OnPackageOperationsFinished (); }); } } } }